import sys
source = open(sys.argv[1], 'rt')
count_lines = len(source.readlines())
print count_lines
for row in source:
print row
source.close()
我正在尝试计算文件中的行数,然后逐行读取文件。 count_lines返回正确的值,但print row
没有输出。有什么基本的我做错了吗?
答案 0 :(得分:1)
调用source.readlines()
后,文件的当前位置位于文件末尾。您应该以{{1}}作为参数调用source.seek来设置文件开头的当前位置。
如果你正在阅读一个大文件,你也想避免0
调用以避免浪费(可能是很多)内存。您可以readlines
执行此操作。
答案 1 :(得分:0)
import sys
source = open(sys.argv[1], 'rt')
count_lines = len(source.readlines())
print count_lines
source.seek(0)
for row in source:
print row
source.close()