我正在尝试替换当前目录中所有文件中的字符串。出于某种原因,我的临时文件最终变成了空白。似乎我的 .write 不起作用,因为第二个文件可能在其范围之外声明?我是 python 的新手,所以仍在攀登学习曲线...谢谢!
编辑:我知道我的临时文件目前没有被复制。我也知道有更有效的方法可以做到这一点。我这样做是为了练习。如果有人能具体回答为什么 .write 方法在这里不起作用,那就太好了。谢谢!
import os
import shutil
for filename in os.listdir("."):
file1 = open(filename,'r')
secondfile = open("temp.out",'w')
print filename
for line in file1:
line2 = line.replace('mrddb2.','shpdb2.')
line3 = line2.replace('MRDDB2.','SHPDB2.')
secondfile.write(line3)
print 'file copy in progress'
file1.close()
secondfile.close()
最佳答案
只看一眼,您的问题似乎出在“w”上。
看起来您一直在覆盖,而不是追加。
所以你基本上是在遍历文件,
到最后,您只将最后一个文件复制到您的临时文件中。
您可能希望使用“a”而不是“w”打开文件。
关于python - 文件不会用python写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/984216/