我需要遍历给定目录的子目录并搜索文件。如果我得到一个文件,我必须打开它并更改内容并用我自己的行替换它。
我试过了:
import os
rootdir ='C:/Users/sid/Desktop/test'
for subdir, dirs, files in os.walk(rootdir):
for file in files:
f=open(file,'r')
lines=f.readlines()
f.close()
f=open(file,'w')
for line in lines:
newline = "No you are not"
f.write(newline)
f.close()
但我收到错误消息。我究竟做错了什么?
最佳答案
实际浏览目录的过程与您编写的代码相同。如果你用一个简单的 print
语句替换内部循环的内容,你可以看到每个文件都找到了:
import os
rootdir = 'C:/Users/sid/Desktop/test'
for subdir, dirs, files in os.walk(rootdir):
for file in files:
print(os.path.join(subdir, file))
如果您在运行上述程序时仍然遇到错误,请提供错误消息。
https://stackoverflow.com/questions/19587118/