2024-04-23 19:42:41 发布
网友
基本上我试着读最后几行。我很困惑是什么导致了这个错误:
nrows = 10 with open(filename, "r") as f: for ii in xrange(-nrows, 0, 1): last_line = f.readlines()[ii].strip().split(",")
当我在IDE中尝试时,如果只使用数字就没有问题了,比如:
不知何故,xrange生成的索引似乎不能“使用”。有办法吗?在
xrange
非常感谢您的关注和时间!在
它在第二个示例中起作用的原因是只调用readlines()一次。在
您只能读取一次文件,因此一旦您读取了所有行,文件迭代器将指向EOF并返回空列表,这将使您的[ii]尝试失败。在
要多次读取文件,必须调用文件.seek(0)在每一轮之后,将迭代器再次移动到开始处,但将行读入变量将更有效。在
您可能对file like objects感兴趣,也可能考虑使用slice而不是xrange
它在第二个示例中起作用的原因是只调用readlines()一次。在
您只能读取一次文件,因此一旦您读取了所有行,文件迭代器将指向EOF并返回空列表,这将使您的[ii]尝试失败。在
要多次读取文件,必须调用文件.seek(0)在每一轮之后,将迭代器再次移动到开始处,但将行读入变量将更有效。在
您可能对file like objects感兴趣,也可能考虑使用slice而不是xrange
相关问题 更多 >
编程相关推荐