是否有更短(也许更Pythonic)的方式来打开文本文件并读取以注释字符开头的行?
换句话说,这是一种更简洁的方法
fin = open("data.txt")
line = fin.readline()
while line.startswith("#"):
line = fin.readline()
在我学习 Python 的现阶段,我发现以下内容最具 Python 风格:
def iscomment(s):
return s.startswith('#')
from itertools import dropwhile
with open(filename, 'r') as f:
for line in dropwhile(iscomment, f):
# do something with line
跳过文件顶部以以下内容开头的所有行#
。跳过以以下内容开头的所有行#
:
from itertools import ifilterfalse
with open(filename, 'r') as f:
for line in ifilterfalse(iscomment, f):
# do something with line
对我来说,这几乎就是可读性的全部内容;从功能上来说,两者几乎没有区别:
for line in ifilterfalse(iscomment, f))
and
for line in (x for x in f if not x.startswith('#'))
将测试分解为自己的函数可以使代码的意图更加清晰;这也意味着,如果您对注释的定义发生变化,您可以在一个地方进行更改。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)