在不存在的目錄中使用 os.mkdir() 創建新目錄時出錯
os.mkdir()
這是用於在 Python 中創建目錄(文件夾)的方法。如果嘗試在不存在的目錄中創建新目錄,則會發生錯誤。(FileNotFoundError
)
import os os.mkdir('not_exist_dir/new_dir') # FileNotFoundError
使用 os.madeirs() 遞歸創建目錄
如果使用 os.makedirs() 而不是 os.mkdir() ,它會創建一個中間目錄,因此您可以遞歸地創建一個深層次的目錄。
os.makedirs('not_exist_dir/new_dir')
在本例中,它將一次創建所有這些。如果有多個新的中間目錄也可以。
- 中間目錄:
not_exist_dir
- 最終目錄:
new_dir
但是,如果結束目錄已經存在,則會發生錯誤。(FileExistsError
)
os.makedirs('exist_dir/exist_dir') # FileExistsError
如果有參數exist_ok
從Python 3.2開始,增加了參數exist_ok,如果exist_ok=True,即使結束目錄已經存在也不會出錯。如果結束目錄不存在,將創建一個新目錄,如果存在,則什麼也不做。這很方便,因為您不需要提前檢查終端目錄是否存在。
os.makedirs('exist_dir/exist_dir', exist_ok=True)
如果缺少參數exist_ok
如果你有一個舊版本的Python,並且在os.madeirs中沒有參數exist_ok,你可以使用os.path.exists來判斷是否有結束目錄,如果沒有,再新建一個結束目錄。
if not os.path.exists('exist_dir/exist_dir'): os.makedirs('exist_dir/exist_dir')