所以我需要在這種情況下找到所有具有特定擴展名的文件.txt
。然後,我必須打開所有這些文件,並用另一個字符串更改某個字符串...在這裏,我卡住了。從python列表中替換文件中的字符串
這裏是我的代碼:
import os, os.path
find_files=[]
for root, dirs, files in os.walk("C:\\Users\\Kevin\\Desktop\\python programi"):
for f in files:
fullpath = os.path.join(root, f)
if os.path.splitext(fullpath)[1] == '.txt':
find_files.append(fullpath)
for i in find_files:
file = open(i,'r+')
contents = file.write()
replaced_contents = contents.replace('xy', 'djla')
print i
錯誤mesage:
line 12, in <module>
contents = file.write()
TypeError: function takes exactly 1 argument (0 given)
我知道有misssing的說法,但我應該使用哪種說法? 我認爲這會更好,如果我從for i in find files:
下來 任何意見更改代碼?
當打開讀取文件('r +')時,你不能寫入文件。如果你已經用'w'打開它,你可以'file.write(replaced_contents)'... – msvalkon
你想把它寫回文件中嗎?還是隻是試圖打印出來? – Scironic
錯誤消息指出寫入函數需要1個參數,但已給出0。 按照Python文檔,文件寫入功能的格式是 ** f.write(串)**字符串的內容寫入文件,返回無 – durga