gpt4 book ai didi

python - 跳过标题行的更多pythonic方式

转载 作者:太空狗 更新时间:2023-10-29 19:30:13 24 4
gpt4 key购买 nike

是否有更短的(可能更像 pythonic)打开文本文件并阅读以注释字符开头的行的方法?

换句话说,这是一种更简洁的方式

fin = open("data.txt")
line = fin.readline()
while line.startswith("#"):
line = fin.readline()

最佳答案

在我学习 Python 的这个阶段,我发现这个最 Pythonic:

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))

for line in (x for x in f if not x.startswith('#'))

将测试分解成它自己的函数可以使代码的意图更清晰一些;这也意味着如果您对评论的定义发生变化,您可以在一个地方进行更改。

关于python - 跳过标题行的更多pythonic方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1730649/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com