2011-10-05 30 views

回答

4

傳遞給open()函數的開放模式只接受幾個字母的特定組合。在你的情況下,'rwb'不是這些組合之一,Python可能假設你的意思是'rb'。試試:

with open(outfilename, 'wb') as outfile: 

這會打開文件進行寫入。如果您需要從同一手柄,使用讀:

with open(outfilename, "w+b") as outfile: 
1

我敢肯定rwb不是open一個有效的模式。根據所需的行爲,您可能需要選擇r+bw+b之一。

使用rb是要讀取現有文件。

使用r+b是要讀取/寫入現有文件。

使用wb是要編寫現有還是不存在的文件(將首先截斷現有文件)。

使用w+b您想要讀取/寫入現有或不存在的文件(將首先截斷現有文件)。

的結合使用,如果你不希望現有文件的截斷,喜歡的事(僞代碼,很明顯):

open with "r+b" 
on error: 
    open with "w+b" 
相關問題