如何爲此命令進行驗證錯誤?如何在Python中使用os.makedirs驗證錯誤?
if blablablabla:
os.makedirs('C:\\test\\')
如果文件夾已經存在,他還給我的錯誤...我怎麼可以把它忽略這個錯誤?並繼續前進?
如何爲此命令進行驗證錯誤?如何在Python中使用os.makedirs驗證錯誤?
if blablablabla:
os.makedirs('C:\\test\\')
如果文件夾已經存在,他還給我的錯誤...我怎麼可以把它忽略這個錯誤?並繼續前進?
try:
os.makedirs('C:\\test\\')
except OSError:
pass
您還可能要檢查的具體「已經存在」的錯誤(因爲OSError
可能意味着別的東西,比如權限被拒絕 ...
import errno
try:
os.makedirs('C:\\test\\')
except OSError as e:
if e.errno != errno.EEXIST:
raise # raises the error again
你可以嘗試/除?
try:
os.makedirs('C:\\test\\')
except: pass
裸try-except(沒有指定例外)是一個不好的做法,應該避免,因爲它可以隱藏你不想隱藏的錯誤,比如'KeyboardInterrupt'或者'MemoryError' ...總是發現你的確切錯誤正在努力處理。 – nosklo 2010-03-05 00:54:08
2.5以後KeyboadInterrupt等都來自BaseException。此外,OP只是想忽略錯誤... – ghostdog74 2010-03-05 01:18:33
這並不重要,裸體除外條款可以規避任何例外情況。原始問題中重要的是如何忽略正確的異常,絕對不會忽略所有異常。 – u0b34a0f6ae 2010-03-05 02:06:04
請注意,'除了OSError as e'是python 2.6+特定語法。對於python <2.6 use',除了OSError,e'。 – nosklo 2010-03-05 00:55:18
您應該*檢查原因在這種情況下。如果目錄已經存在,則可能是好的,但如果存在權限問題或磁盤已滿等情況,則需要給用戶一個錯誤 – 2010-03-05 00:59:29
如果有'EnvironmentError',該怎麼辦? – ghostdog74 2010-03-05 02:47:27