Python 文件读取时,在for循环中的tell方法返回错误
代码每次迭代一行,期望tell方法返回当前指针的位置。但是实际返回的是整片文档的最后的位置;
请帮我看看问题在哪里?
My Daily.txt
Good morning:
As we known, Chengdu IS one of largest cities in the world!
Set up
get up
take off
OK
代码如下
with open(r'My Daily', 'r+') as f:
for line in f:
print f.tell()
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
当对 文件对象f 使用 for 遍历的时候,会将 f 的内容读取出来,生成可迭代对象进行遍历。
所以你输出的位置总是在最后
for line in f:
是在调用 f.next().
f.next() 方法被调用的时候,f.tell() 方法不可以被调用
如果需要返回当前指针位置,可以这样
pos = 0
with open(r'My Daily', 'r+') as f: