with open('my_file.py','r') as f:
lines=f.readlines()
with open('my_file.py','w') as f:
for line in lines :
if line.strip().startswith('#'):
lines.remove(line)
f.writelines(lines)
在这段代码中我们首先读出所有行,那么对于任意行中,我们使用strip
(删除空格),然后,如果该行已经开始与'#'
我们将其删除。
此外,如果你有其他的代码里面您的评论,你可以使用regex
与re.sub
你可以做到这一点:
演示:
my_file.py:
################comment###########
{
'active': False,
'installable': True,
'test': [
# 'Test/purchase_order.yml'
# 'Test/purchase_picking.yml'
# 'Test/purchase_validation.yml'
# 'Test/sale_order.yml'
# 'Test/sale_validation.yml'
]
}
代码:
import re
with open('test.txt','r') as f:
lines=f.readlines()
with open('test.txt','w') as f:
s=re.sub(r'#[\w \S]*','',''.join(lines))
f.writelines(s)
输出:
{
'active': False,
'installable': True,
'test': [
]
}
放一点精力在你的题。一些格式和标点符号会很好。因为它是不可读的。 – interjay 2014-09-18 16:46:37
所有删除的行都有'#'Test'模式吗? – tdelaney 2014-09-18 17:03:44
你想删除以'#'开头的整行吗?还是只是**想删除'#'并保持行的其余部分不变? – 2014-09-18 17:28:45