同时打开列表中的所有文件

时间:2015-10-18 19:47:36

标签: python python-2.x

我需要修改(变量但很小)的文件数量,我想知道是否有一种Python语法允许我在with语句中打开它们。例如。

之类的东西
file_names = ("file_a", "file_b", "file_c")

with open(file_names) as files:
    for file_ in files:
         file_.write("Hello file!")

此示例中file_names的长度会有所不同。

1 个答案:

答案 0 :(得分:4)

实际上,with确实支持这样的语法:

with open("file_a", "r+") as fa, open("file_b", "r+") as fb, \
        open("file_c", "r+") as fc:
    for f in (fa, fb, fc):
        f.write("Hello file!")

要在可变数量的上下文管理器上使用with,您至少需要Python 3.3和contextlib.ExitStack