gpt4 book ai didi

python - 为什么 seek 在 python 中返回 None?

转载 作者:行者123 更新时间:2023-11-28 19:55:43 31 4
gpt4 key购买 nike

doc明确地说:

Return the new absolute position.

但是,seek 似乎返回None(在 Linux 上也有相同的行为):

Python 2.7.5 (default, Mar  9 2014, 22:15:05) 
[GCC 4.2.1 Compatible Apple LLVM 5.0 (clang-500.0.68)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> >>> >>> >>> import os
>>> f=open("......","r")
>>> f.readline()
'......\n'
>>> f.tell()
44
>>> f.seek(0,2)
>>> f.tell()
9636
  1. 这是已知错误吗?
  2. 这是文档错误还是实现错误?

最佳答案

您正在阅读错误的文档。你需要看看file.seek()使用 Python 2 时:

There is no return value.

使用 io.open()很好,如果这样做,您将得到一个不同对象,其seek()方法确实返回当前位置:

Python 2.7.6 (default, Apr 28 2014, 17:17:35) 
[GCC 4.2.1 Compatible Apple LLVM 5.1 (clang-503.0.40)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import io
>>> f = io.open('data.json')
>>> f.seek(0, 2)
39L
>>> type(f)
<type '_io.TextIOWrapper'>
>>> f = open('data.json')
>>> f.seek(0, 2)
>>> type(f)
<type 'file'>

io module是 Python 3 的新 I/O 架构,在 Python 2 中也可用。 Python 3 built-in open() functionio.open() 的别名,但在 Python 2 中还不是。

关于python - 为什么 seek 在 python 中返回 None?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23896186/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com