Python 将for循环的输出写入与输入文件具有相同文件名的多个文件
我在filenames.txt文件中有一个文件名列表。我正在一个接一个地打开所有文件,并希望将某些操作的结果写入另一个目录,但使用相同的文件名。到目前为止,我试过这个,但这个不起作用。有什么帮助吗Python 将for循环的输出写入与输入文件具有相同文件名的多个文件,python,python-2.7,Python,Python 2.7,我在filenames.txt文件中有一个文件名列表。我正在一个接一个地打开所有文件,并希望将某些操作的结果写入另一个目录,但使用相同的文件名。到目前为止,我试过这个,但这个不起作用。有什么帮助吗 with open("/home/morty/filenames.txt","r") as f: names = [name.strip() for name in f] for name in names: save=open("/home/morty/dir/%name" %na
with open("/home/morty/filenames.txt","r") as f:
names = [name.strip() for name in f]
for name in names:
save=open("/home/morty/dir/%name" %name,"w")
save.write(---some operation---)
我的问题与此类似,但我不希望使用count/enumerate命名的文件。我希望名称与输入文件名相同:
您的格式声明不正确。它应该是
“/home/morty/dir/%s”%name
但是,当您想将目录名与文件名联接时,最好使用os.path.join
如下所示:
for name in names:
with open(os.path.join("/home/morty/dir",name),"w") as save:
save.write(---some operation---)
(和带有上下文块的,以确保文件在完成时关闭)