我需要读取文本文件中的每一行,并用字符串" + 44"替换每一行。使用" 0" ...基本上替换" + 44"用" 0"但保持线的其余部分完全相同
我的代码:
f = open("Pajanimals.txt",'r')
for line in f:
if '+44' in line:
答案 0 :(得分:2)
检查每一行是没有意义的 - 只需一次性更换所有内容:
path = 'Pajanimals.txt'
try:
with open(path, 'r') as infile:
data = infile.read().replace('+44', '0')
except OSError as exception:
print('ERROR: could not read file:')
print(' %s' % exception)
else:
with open(path, 'w') as outfile:
outfile.write(data)
答案 1 :(得分:0)
您可以在此处使用string.replace:
for line in f:
new_number = line.replace("+44", "0")
如果你做的事情比较复杂,我可能会推荐一个正则表达式,但你的情况很简单。
此处唯一需要注意的是,替换将所有它找到的实例,因此"+44123+44"
将成为"01230"
,但有一个maxreplace参数可用于将它限制在第一个实例:
line.replace("+44", "0", 1)
将"+44123+44"
转换为"0123+44"
答案 2 :(得分:0)
试试这个:
f = open('Pajanimals.txt','rt')
lines = f.readlines()
f.close()
f = open('Pajanimals.txt','wt')
f.writelines([line.replace('+44','0') for line in lines])
f.close()