在写入文件的位置,您的位置位于文件的末尾,因此您需要返回到文件的开头。然后,您将覆盖该文件,但这可能会在末尾留下旧内容,因此您还需要截断该文件。在
另外,您指定的模式('rw+')是无效的,当我试图对用它打开的文件执行一些操作时,会出现IOErrors。我相信您需要模式'r+'('w+'与之类似,但如果文件不存在,则会创建该文件。在
所以,你要找的可能是这样的代码:try:
f = open(self.working_file_path, "r+")
buff = self._get_buffer()
f.seek(0)
f.truncate()
f.write(self._get_text())
#update modified flag
buff.set_modified(False)
f.close()
except IOError as e:
print "File Doesnt Exist so bring up Save As..."
......
但是,您可能希望修改此代码,以便在截断和写入文件时正确地捕获和处理错误,而不是假定此部分中的所有ioerror都是调用open时不存在的文件错误。在