我要搜索一行并替换file.txt中的一行,
CURRENT_BUILD = 111111
与
CURRENT_BUILD = 221111
使用Python。
答案 0 :(得分:0)
您可以遍历文件中的各行,将它们保存到list
,然后将列表逐行输出回文件,并在必要时替换行:
with open('file.txt') as f:
lines = f.readlines()
with open('file.txt', 'w+') as f:
for line in lines:
if line == 'CURRENT_BUILD = 111111\n':
f.write('CURRENT_BUILD = 221111\n')
else:
f.write(line)
答案 1 :(得分:0)
CURRENT_BUILD = '111111'
print (CURRENT_BUILD.replace('111111', '221111'))
replace()的语法为:
str.replace(old, new [, count])
old-您要替换的旧子字符串
new-新的子字符串,它将替换旧的子字符串
count(可选)-您要用新的子字符串替换旧的子字符串的次数
如果未指定count,则replace()方法将所有出现的旧子字符串替换为新的子字符串。
我不确定这是否是您的意思,因为您不清楚并没有显示.txt文件是什么,但是仍然可以替换。
编辑
如果您希望以文本替换,那么这将是您的最佳选择。
import fileinput
with fileinput.FileInput(filename, inplace=True, backup='.bak') as file:
for line in file:
print(line.replace(text_to_search, replacement_text), end='')
此帖子How to search and replace text in a file using Python?中的@jfs信用