![](/img/trans.png)
[英]Bash or Python : Append and prepend a string recursively in all .tex files
[英]Append Line to All Files in a Directory Recursively in Python
我是Python的新手,正在尋找語法幫助。
我有一個帶有* .properties文件(超過100個文件)的目錄和子目錄。 我想在每個文件的末尾附加兩行文本。
我正在嘗試使用os.walk和f.write,但是不確定如何將兩者結合起來。 在下面的代碼中,我也嘗試通過添加1行文本開始,但是我希望文本為2行。
import os
dir_name = "C:\\Users\\<user>\\Desktop\\test\\" # Edit as needed
for parent, dirnames, filenames in os.walk(dir_name):
for fn in filenames:
f = open(fn, 'a')
f.write("text\n")
f.close()
運行提供的腳本時,“測試”中的文件沒有任何反應
文件名不是路徑。 您必須將其目錄和文件名的路徑連接起來:
f = open(os.path.join(parent, fn), 'a')
另外,這與您的問題無關,而是:
f = open(fn, 'a')
f.write("text\n")
f.close()
一個好的(“ pythonic”)風格是:
with open(fn, 'a') as f:
f.write("text\n")
即使發生錯誤,也可以正確關閉文件。
這個f = open('fn', 'a')
應該是f = open(fn, 'a')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.