这是我用来替换文件中某些文本的代码:
for line in fileinput.input(the_file,inplace=True):
sys.stdout.write(line.re.sub('Begin.*?end', new_data))
这给了我以下错误:
AttributeError: 'str' object has no attribute 're'
我想也许我可以像这样直接使用re.sub
部分:
sys.stdout.write(re.sub('Begin.*?end', new_data))
但这给了我错误:
TypeError: sub() missing 1 required positional argument: 'string'
如何在 Python 中使用正则表达式和 fileinput
来正确搜索和替换文本?
最佳答案
就这么做
sys.stdout.write(re.sub('Begin.*?end', new_data, line))
re.sub
的签名是 re.sub(pattern, repl, string, count=0, flags=0)
关于python - 在 Python 中将正则表达式与 fileinput 结合使用会出现错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38603532/