2024-05-13 08:34:03 发布
网友
我有一个名为testing的文件存在于/home/hiperbolt中,它有一行代码:
testing
/home/hiperbolt
nameserver 127.89.87.3
我需要一段代码来查找以nameserver开头的行,并用
nameserver
nameserver 8.8.8.8
我的代码目前只替换了nameserver部分,因此变成:
nameserver 8.8.8.8 127.89.87.3
而不是
只需对文件的文本内容使用re.sub(),然后将替换的文本写回文件。你知道吗
re.sub()
In [30]: filedata Out[30]: 'nameserver 127.89.87.3\nsearch example.com\n' In [31]: re.sub(r'nameserver\s+.*', 'nameserver 8.8.8.8', filedata) Out[31]: 'nameserver 8.8.8.8\nsearch example.com\n'
如果你想的话,你可以不用正则表达式。你知道吗
with open('/home/hiperbolt', 'r') as f: lines = [] for line in f: if line.startswith('nameserver'): lines.append('nameserver 8.8.8.8') else: lines.append(line) with open('/home/hiperbolt', 'w') as f: f.write('\n'.join(lines))
只需对文件的文本内容使用
re.sub()
,然后将替换的文本写回文件。你知道吗如果你想的话,你可以不用正则表达式。你知道吗
相关问题 更多 >
编程相关推荐