gpt4 book ai didi

python - 对文件中的行使用正则表达式

转载 作者:行者123 更新时间:2023-12-01 07:11:39 27 4
gpt4 key购买 nike

我有一个文本文件,应该像这样更改:

Go through the lines and If you see print var[number or string] change it to print ( var[number or string])

对于输入:

a = [1,2,3]

print a[1]

输出必须是:

a = [1,2,3]

print(a[1])

我尝试过这个:

import re
with open('file.txt', 'r') as f:
data = f.read()

newline = re.sub(r"^print\s(.+)", r"print(\1)", data)

with open('file.txt', 'w') as f:
f.write(newline)

仅当 print 位于第一行时才有效。我应该如何检查所有行并更改它们?

最佳答案

您需要使用 M 标志将行的开头与 ^ 匹配,而不是与文本的开头匹配。

re.sub("^a", "c", "abba\nabba", flags=re.M)
'cbba\ncbba'

关于python - 对文件中的行使用正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58183475/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com