我正试图制作一个非常简单的计数器,用来记录我的程序执行了多少次。
首先,我有一个只包含一个字符的文本文件: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
请尝试下面的代码:
如我所见,您已经插入了“r+”或此命令,请以读取模式打开文件,这样您就无法对其进行写入,因此如果要覆盖,必须以写入模式“w”打开文件 文件内容和写入新数据,否则可以使用“a”将数据追加到文件中
我希望这会有帮助;)
你检查过
write()
的文档字符串吗?上面写着:所以你需要先把
y
转换成str
。还要注意,字符串将被写入文件末尾的当前位置,因为您已经读取了旧值。使用
f.seek(0)
到达文件的开头编辑:对于
IOError
,this issue似乎是相关的。一个引用:所以,我建议你试试
f.seek(0)
,也许问题就解决了。相关问题 更多 >
编程相关推荐