Windows系统下,此异常在以'a+'模式打开文件,读文件,再写入过程中出现。其原因在于读写交替过程中必须要有fflush, fseek, fsetpos, rewind这类操作,不然python就不知道当前文件位置在哪啦。最笨的办法就是在关闭文件前只做读或者写一种操作,省心

一点的方法是在写入文件前用fseek(),或者fsetpos()设定插入文本的位置。

f.seek(offset [, whence]) whence 为0表示当前文件位置在文件开头,1表示在上次read后的地方,2表示文件末尾。offset为偏移量。

要避免出现此异常,在写入文件前加上

f.seek(0,2)

即可。

参考资料:http://stackoverflow.com/a/11176772

05-08 15:29