如果我做:
os.chdir(path)
f = open(file,"r")
lines = f.readlines()
print "without assignment " + str(len(f.readlines()))
print "with assignment " + str(len(lines))
Run Code Online (Sandbox Code Playgroud)
我希望输出是相同的,但它不是:
without assignment 0
with assigment 1268
Run Code Online (Sandbox Code Playgroud)
为什么是这样?
文件对象f是文件行上的迭代器.f.readlines()将文件光标移动到最后,但保存lines第二个示例适合您的行.第一个示例不起作用,因为您已到达文件的末尾,并且没有剩余的行可供阅读.f.seek(0)如果要使其工作,可以使用将光标移回文件的开头.