python os.mkdir建立目錄失敗
阿新 • • 發佈:2019-01-27
起因
今天使用 python os.mkdir建立目錄時遇到的一個小問題:
feature_dir = os.path.join(os.getcwd(), 'system', 'feature')
if not os.path.exists(feature_dir):
os.mkdir(feature_dir)
結果提示錯誤: OSError: [Errno 2] No such file or directory: '/home/hyb/hyb_speech/2_word/applications/system/feature'
原因
查了一下原因,發現是因為 feature 的上一級目錄 system 也沒有建立的緣故。
具體原因,如下:
1.mkdir( path [,mode] )
作用:建立一個目錄,可以是相對或者絕對路徑,mode的預設模式是0777。
如果目錄有多級,則建立最後一級。如果最後一級目錄的上級目錄有不存在的,則會丟擲一個OSError。
2.makedirs( path [,mode] )
作用: 建立遞迴的目錄樹,可以是相對或者絕對路徑,mode的預設模式也是0777。
如果子目錄建立失敗或者已經存在,會丟擲一個OSError的異常,Windows上Error 183即為目錄已經存在的異常錯誤。如果path只有一級,與mkdir一樣。
解決
解決方法:
1、先建立 system,再建立 feature;
2、直接使用
os.makedirs(feature_dir)。