2014-07-15 30 views
0

我需要搜索一個目錄中的所有文件盯着停機時間,並添加一行到每一個。Python搜索多個文件的目錄,編輯他們全部包括行

現在,我有以下幾點:

os.chdir("/misc/downtimerecords") 

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

我怎樣才能改變這種做法,無論有多少文件,我在目錄中有這是否行得通呢?目前我將因fo=open中的""而出現錯誤。我希望這是每個以停機時間開始的文件的名稱。

+1

'fo = open(file,「a +」)'? – RomanHotsiy

回答

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 ... :成語確保該文件對象被關閉,即使討厭的東西發生(和它的整潔!)

+0

如果我想將文本,字符串,然後創建一個新行,我將如何編輯? – user3842251

+0

添加了用於向輸出添加字符串變量和換行符的代碼。如果這就是你想要的,那麼把這個要求添加到你原來的帖子可能會更好。 – SiHa

0

open()中的「」替換爲file。當您使用for循環遍歷python中的列表時,for之後的變量是您可以訪問列表的當前元素的變量。

相關問題