Voglio cambiare un paio di file contemporaneamente, iff Posso scrivere su tutti. Mi chiedo se in qualche modo posso combinare le molteplici inviti aperti con la dichiarazione with
:Come posso aprire più file usando "with open" in Python?
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
Se questo non è possibile, quale sarebbe una soluzione elegante a questo problema simile?
Sì .. così fresco che poche righe di codice consentono di farlo nelle versioni precedenti di Python pure, come in questo esempio qui: http://metapython.blogspot.com/2010/12/multiple-contests-in-with-statement-not.html – jsbueno
Sfortunatamente, secondo i documenti contextlib.nested, non dovresti usarlo per l'apertura di file: "l'utilizzo di nested() per aprire due file è un errore di programmazione poiché il primo file non verrà chiuso immediatamente se viene generata un'eccezione quando si apre il secondo file." – weronika
c'è un modo per usare 'with' per aprire un elenco di file variabili? – monkut