Chcę zmienić kilka plików jednocześnie, iff Mogę napisać do wszystkich z nich. Zastanawiam się, czy w jakiś sposób można połączyć wiele połączeń otwartych ze stwierdzeniem with
:Jak mogę otworzyć wiele plików za pomocą "with open" w Pythonie?
try:
with open('a', 'w') as a and open('b', 'w') as b:
do_something()
except IOError as e:
print 'Operation failed: %s' % e.strerror
Jeśli nie jest to możliwe, co byłoby eleganckie rozwiązanie tego problemu wyglądać?
Tak .. tak chłodne, że kilka linii kodu, które pozwalają robić w poprzednich wersjach Pythona, jak również, jak w tym przykładzie tutaj: http://metapython.blogspot.com/2010/12/multiple-contests-in-with-statement-not.html – jsbueno
Niestety, zgodnie z dokumentacją contextlib.nested, nie powinieneś go używać dla otwierania plików: "używanie nested() do otwierania dwóch plików jest błędem programistycznym, ponieważ pierwszy plik nie zostanie szybko zamknięty, jeśli zostanie zgłoszony wyjątek podczas otwierania drugiego pliku." – weronika
Czy istnieje sposób użycia 'with' do otwarcia listy zmiennych plików? – monkut