我做了一个简单的程序来测试。它只是查找特定字符串的任何实例,并用新字符串替换它。我想要做的是对我的整个目录,逐个文件地运行这个。在目录上运行一个简单的脚本
def replace(directory, oldData, newData):
for file in os.listdir(directory):
f = open(file,'r')
filedata = f.read()
newdata = filedata.replace(oldData,newData)
f = open(file, 'w')
f.write(newdata)
f.close()
但我不断收到一条错误消息,告诉我一个文件不存在于我的目录中,即使它存在。我无法弄清楚为什么它会告诉我。
'os.listdir'仅返回文件名,他们没有目录前缀。使用'os.path.join'连接它们。 – Barmar