Windows系統下,此異常在以'a+'模式打開文件,讀文件,再寫入過程中出現。其原因在於讀寫交替過程中必須要有fflush, fseek, fsetpos, rewind這類操作,不然python就不知道當前文件位置在哪啦。最笨的辦法就是在關閉文件前只做讀或者寫一種操作,省心
一點的方法是在寫入文件前用fseek(),或者fsetpos()設定插入文本的位置。
1 f.seek(offset [, whence]) whence 為0表示當前文件位置在文件開頭,1表示在上次read后的地方,2表示文件末尾。offset為偏移量。
要避免出現此異常,在寫入文件前加上
f.seek(0,2)
即可。
參考資料:http://stackoverflow.com/a/11176772