1
python文檔here,提到在調用file.write()
期間可能會引發異常。是否所有的異常記錄爲內置的Python函數?
這是否意味着函數不會引發任何異常?例如,在沒有磁盤空間的情況下,file.write()
的行爲如何?
python文檔here,提到在調用file.write()
期間可能會引發異常。是否所有的異常記錄爲內置的Python函數?
這是否意味着函數不會引發任何異常?例如,在沒有磁盤空間的情況下,file.write()
的行爲如何?
它的記錄正好遇上top of the section on file
objects:
當一個I/O相關原因,文件操作失敗,異常IOError提高。這包括由於某種原因沒有定義操作的情況,如tty設備上的
seek()
或寫入打開以供讀取的文件。
它之所以沒有提到每一個方法的例外是,它是相同的異常(IOError
)所造成的一個IO相關的原因,所有的file
方法錯誤。
你可以找出IO錯誤的基礎上,錯誤號碼,可以如下提取類型:
try:
f = open("nosuchfile.txt")
except IOError as e:
print e.errno
這些錯誤數據來自OS,而不是從Python的。在上述情況下,它會打印2
,因爲No such file or directory
是錯誤2. No space left on device
通常是錯誤28,儘管它可能取決於操作系統。
謝謝。我想知道不同的故障模式是什麼。例如,如果由於某種原因我無法寫入該文件,我將啓動一個新文件。但是,如果我的磁盤空間不足,我會放棄所有的一切。有沒有區分這些失敗的方法? – Alex 2013-02-28 05:18:41
@alex:請參閱編輯 – 2013-02-28 05:27:16