TypeError: TextIOWrapper.seek() takes no keyword arguments

TypeError: TextIOWrapper.seek() takes no keyword arguments

我想从头开始寻找要写入的文件的开头。 在 python 3.9 io.IOBase.seek 的文档中显示 seek 有一个参数“whence”,但显示错误:

TypeError: TextIOWrapper.seek() takes no keyword arguments

我的代码是:

with open("t.txt",'a+') as f:
    f.seek(0,)
    print(f.readlines())
    f.seek(0,whence=0)
    f.write("12\n23\n32")

我使用了“a+”,因为我想在打开文件时保留文件的内容,并在以后进行编辑。

我想从一开始就编辑包含,这就是我使用 whence = 0 的原因,因为它可以帮助我从流的开始进行编辑

是啊,有点奇怪。

看看help(f.seek):

Help on built-in function seek:

seek(cookie, whence=0, /) method of _io.TextIOWrapper instance

注意 / 斜杠。

它说“请不要输入关键字!”。

您可以指定 f.seek(0),或 f.seek(0, 0)。 您只是无法命名第二个参数 whence。 它是签名中的有用文档, 但是你不能在通话中给它命名。