【发布时间】:2016-02-02 16:47:56
【问题描述】:
我正在尝试使用 Python 代码和正则表达式从 Python 代码文件中的新行开始删除 cmets。例如,对于这个输入:
first line
#description
hello my friend
我想得到这个输出:
first line
hello my friend
很遗憾,这段代码由于某种原因无法正常工作:
with open(input_file,"r+") as f:
string = re.sub(re.compile(r'\n#.*'),"",f.read()))
f.seek(0)
f.write(string)
由于某种原因,我得到的输出与输入相同。
【问题讨论】:
-
一方面,它的缩进不正确...您是否尝试过将其拆分为更小的步骤并测试每个步骤?
-
我不认为你没有逐行比较。尝试多行匹配:
re.compile('^#.*', re.MULTILINE)。 -
在修复了几个语法错误后,我发现您的程序完全按预期运行。请提供一个简短、完整、否则正确的程序来演示该错误。请参阅stackoverflow.com/help/mcve 了解更多信息。