计算行数后无法读取文件数据

时间:2015-05-27 07:37:09

标签: python readfile

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没有输出。有什么基本的我做错了吗?

2 个答案:

答案 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()