所以我需要在这种情况下找到所有具有特定扩展名的文件.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