计算行数后无法读取文件数据
Not able to read file data after counting number of lines
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 returns 正确的值,但 print row
没有输出。我做错了什么基本的事情吗?
调用source.readlines()
后,文件的当前位置在文件末尾。您应该使用 0
作为参数调用 source.seek 以将当前位置设置在文件的开头。
如果您正在读取一个大文件,您还希望避免调用 readlines
以避免浪费(可能很多)内存。您可以通过 sum(1 for _ in source)
.
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()
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 returns 正确的值,但 print row
没有输出。我做错了什么基本的事情吗?
调用source.readlines()
后,文件的当前位置在文件末尾。您应该使用 0
作为参数调用 source.seek 以将当前位置设置在文件的开头。
如果您正在读取一个大文件,您还希望避免调用 readlines
以避免浪费(可能很多)内存。您可以通过 sum(1 for _ in source)
.
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()