我覺得奇怪,我Python - with open()except(FileNotFoundError)?
with open(file, 'r')
可以報告
FileNotFoundError: [Errno 2]
,但我不能趕上,在某種程度上和繼續。我是否在這裏丟失了某些東西,或者真的希望在使用open()之前使用isfile()或類似的東西?
我覺得奇怪,我Python - with open()except(FileNotFoundError)?
with open(file, 'r')
可以報告
FileNotFoundError: [Errno 2]
,但我不能趕上,在某種程度上和繼續。我是否在這裏丟失了某些東西,或者真的希望在使用open()之前使用isfile()或類似的東西?
使用try/except處理異常
try:
with open("a.txt") as f :
print(f.readlines())
except Exception:
print('not found')
#continue if file not found
from __future__ import with_statement
try:
with open(file) as f :
print f.readlines()
except EnvironmentError: # parent of IOError, OSError *and* WindowsError where available
print('oops')
如果你想從公開徵集VS工作代碼中的錯誤不同的處理,你可以這樣做:
try:
f = open(file)
except IOError:
print('error')
else:
with f:
print(f.readlines())
如果您收到FileNotFound錯誤,問題很可能是文件名或文件路徑不正確。如果您嘗試讀取並寫入尚不存在的文件,請將模式從'r'
更改爲'w+'
。它還可以幫助文件之前寫出來的完整路徑,Unix用戶爲:
'/Users/paths/file'
或者更好的是,我們os.path中讓你的路徑可以在其他操作系統上運行。
import os
with open(os.path.join('/', 'Users', 'paths', 'file'), 'w+)
[同時使用一個Python捕獲異常「與」聲明】的可能的複製(http://stackoverflow.com/questions/713794/catching-an-exception-while-using-a-python-with -聲明) –