python:我想搜索一条线并替换一条线

时间:2019-02-21 09:57:50

标签: python

我要搜索一行并替换file.txt中的一行,

CURRENT_BUILD = 111111

CURRENT_BUILD = 221111

使用Python。

2 个答案:

答案 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信用