簡體   English   中英

將for循環的輸出寫入具有與輸入文件相同文件名的多個文件

[英]Write output of for loop to multiple files with same filename as input file

我在文件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命名的文件。 我希望名稱與輸入文件名相同: 將for循環的輸出寫入多個文件

您的格式聲明不正確。 它應該是"/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---)

(以及一個with上下文塊,以確保完成后關閉文件)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM