Python 将for循环的输出写入与输入文件具有相同文件名的多个文件

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

我在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" %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---)
(和带有上下文块的
,以确保文件在完成时关闭)