嗨,我想删除我用这段代码写的文件中的最后一个字符,我收到一个错误。这是我的代码:
with open("output.txt", 'rb+') as f:
f.seek(-1, os.SEEK_END)
f.truncate()
和错误
f.seek(-1, os.SEEK_END)
(-43501.4, -3763303)
IOError: [Errno 22] Invalid argument
尽管使用了导入操作系统,但我得到了这个。请问我该如何解决这个问题,或者有其他方法来删除这个角色。我使用的是Windows 7操作系统和Python 2.7,谢谢
答案 0 :(得分:1)
你的档案是空的;你不能在文件的开头寻找。
答案 1 :(得分:1)
Martijn是正确的,你无法从空文件的末尾寻找,并且解决方法不是使用搜索,而是将size
参数提供给truncate
},例如:
import os
with open('testing.txt', 'rb+') as f:
f.truncate(max(0, os.path.getsize(f.name) - 1))