Hinweis: Ich bin mir dermit mit/als Kontextmanager
with open('f1') as f1, open('f2') as f2:
...
Syntax. Das ist eine andere Frage.
Bei einer Liste von Strings file_names
ist es eine Möglichkeit, with
/as
zu öffnen jeden Dateinamen, dass eine einzige Zeile mit verwenden. Etwas wie:
with [open(fn) for fn in file_names] as files:
# use the list of files
was natürlich nicht funktioniert, da es versucht, den Kontextmanager auf einer Liste zu verwenden. Die Länge der Liste kann bis zur Laufzeit nicht bekannt sein, z. B. sys.argv[1:]
Sie Ihren eigenen Kontext-Manager schreiben können. Ist das eine Option? es ist ziemlich einfach. http://docs.python.org/release/2.5.1/ref/context-managers.html –