它确实有效,但它不会取代字母。 首先,我打开一个文件,然后将内容写入另一个文件。然后到第二个文件我替换了一些特定的字母,但它不起作用,An 任何的想法? 代码:
def copy_file():
f=open("cartas.txt","r")
g=open("copiar.txt","r+")
g.writelines(f)
f.close()
for line in g:
line = line.replace("s","ch")
g.write(line)
g.close()
copy_file()
答案 0 :(得分:1)
调用g.writelines(f)
后,g
的读指针位于文件的末尾,因此for line in g:
之后无需迭代。
答案 1 :(得分:1)
您正尝试迭代g
中的行,并将修改后的行写入g
。在此之前,您实际上将内容从f
复制到g
。
您应该做的是迭代f
并将其写入g
,同时直接转换它们:
f = open('cartas.txt', 'r')
g = open('copiar.txt', 'r+')
for line in f:
line = line.replace('s', 'ch')
g.write(line)
f.close()
g.close()
答案 2 :(得分:0)
这个Python示例将执行您需要的替换,因为replace是全局的,您不需要逐行替换:
f = open("cartas.txt","r")
g = open("copiar.txt","w")
g.write(f.read().replace('s','ch'))
g.close()
f.close()