我只需要在配置文件中执行参数替换:
#!/usr/bin/python3
import re
current_config = '''
#USERNAME
[name = foo]
#-USERNAME
#DATABASE
[config = old]
#-DATABASE
#MORE_FIELDS
[moresettings]
#-MORE_FIELDS
'''
new_config ='''
#DATABASE
[config = new]
#-DATABASE
'''
final = re.sub('#DATABASE}}(.*)#-#{{#-DATABASE}}', current_config, new_config)
print(final)
正则表达式本身运行正常,问题是它只打印出(正确)修改过的部分,忽略了文件的其余部分:
dev-sandbox@workstation:~/PycharmProjects/test$ python3 test.py
#DATABASE
[config = new]
#-DATABASE
我想要实现的是整个“current_config”变量,包括DATABASE块的新设置。我在shell上使用SED,但我需要在python3中使用它。
非常感谢任何帮助,re.sub的文档使用它无法完成。谢谢!