gpt4 book ai didi

python - 类型错误 : expected a character buffer object - while trying to save integer to textfile

转载 作者:IT老高 更新时间:2023-10-28 20:25:41 26 4
gpt4 key购买 nike

我正在尝试制作一个非常简单的“计数器”,用来记录我的程序执行了多少次。

首先,我有一个只包含一个字符的文本文件:0

然后我打开文件,将其解析为 int,将 1 添加到值中,然后尝试将其返回到文本文件:

f = open('testfile.txt', 'r+')
x = f.read()
y = int(x) + 1
print(y)
f.write(y)
f.close()

我想让 y 覆盖文本文件中的值,然后关闭它。

但我得到的只是 TypeError: expected a character buffer object

编辑:

尝试将 y 解析为字符串:

f.write(str(y))

给予

IOError: [Errno 0] Error

最佳答案

你检查过 write() 的文档字符串吗?它说:

write(str) -> None. Write string str to file.

Note that due to buffering, flush() or close() may be needed before the file on disk reflects the data written.

所以你需要先将y转换成str

还要注意,字符串将被写入文件末尾的当前位置,因为您已经读取了旧值。使用 f.seek(0) 到达文件的开头。`

编辑:至于IOErrorthis issue似乎相关。从那里引用:

For the modes where both read and writing (or appending) are allowed (those which include a "+" sign), the stream should be flushed (fflush) or repositioned (fseek, fsetpos, rewind) between either a reading operation followed by a writing operation or a writing operation followed by a reading operation.

所以,我建议您尝试 f.seek(0),也许问题就会消失。

关于python - 类型错误 : expected a character buffer object - while trying to save integer to textfile,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9786941/

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