Python搜索多个文件的目录,编辑它们全部包含行

时间:2014-07-15 18:54:08

标签: python io

我需要在目录中搜索所有盯着停机时间的文件,并在每个文件中添加一行。

现在我有以下内容:

os.chdir("/misc/downtimerecords")

for file in glob.glob("downtime*"):
    fo=open("","a+")
    fo.write("Network Cause")
    fo.close()

如何更改此设置,以便无论目录中有多少文件都可以使用?目前,由于""中的fo=open,我会收到错误消息。我希望这是以停机时间开始的每个文件的名称。

2 个答案:

答案 0 :(得分:0)

替换""在open() file。当您使用for循环迭代python中的列表时,for之后的变量是您可以访问列表的当前元素的变量。

答案 1 :(得分:0)

更好的是:

stringvar = "string to append"
for filename in glob.glob("downtime*"):
    with open(filename,"a+") as fo:
        fo.write("Network Cause {}\n".format(stringvar))

...当file遮蔽Python built-in

with open(...) as ... :成语确保文件对象即使发生了令人讨厌的事情也会被关闭(而且它更整洁!)