python-3.x - 如何在 Python 中获取总行数?
问题描述
我需要在 python 中获取一个大文件(数十万行)的总行数。我的问题是如何在不计算特殊字符的情况下计算整行?我只需要 X、Y、dx 和 dy 中带有数字的行。 例子
到目前为止,这是我的方法,但它包括所有行。我不必计算带有特殊字符的行数
with open('frequency_map.e00000.fm', 'r') as f:
line_count = 0
for line in f:
line_count += 1
print(line_count)
解决方案
从您的描述来看,您可以排除其中包含文字"*"
的任何行。无需解析csv:"*" in line
测试字符是否出现。
与此条件不匹配的sum
所有行就足够了,那么:
with open('frequency_map.e00000.fm', 'r') as f:
line_count = sum(1 for line in f if '*' not in line)
# | | \ valid lines do not have a "*" in them
# | \ add 1 for every valid line
# \ sum over all lines