Python os.mkdir()與os.makedirs()的使用區(qū)別
os.makedir(path)和os.makedirs(path)
今天工作中將hadoop文件同步到服務(wù)器磁盤,由于文件類別目錄較多,遷移文件時需要判斷是否存在
這里有兩個方法os.mkdir(path)和os.makedirs(path)
os.mkdir(path)
他的功能是一級一級的創(chuàng)建目錄,前提是前面的目錄已存在,如果不存在會報異常,比較麻煩,但是存在即有他的道理,當(dāng)你的目錄是根據(jù)文件名動態(tài)創(chuàng)建的時候,你會發(fā)現(xiàn)他雖然繁瑣但是很有保障,不會因為你的一時手抖,創(chuàng)建而創(chuàng)建了雙層或者多層錯誤路徑,
import os os.mkdir('d:\hello') # 正常 os.mkdir('d:\hello\hi') # 正常 # 如果d:\hello目錄不存在 # 則os.mkdir('d:\hello\hi')執(zhí)行失敗
os.makedirs(path)
單從寫法上就能猜出他的區(qū)別,他可以一次創(chuàng)建多級目錄,哪怕中間目錄不存在也能正常的(替你)創(chuàng)建,想想都可怕,萬一你中間目錄寫錯一個單詞.........
import os os.makedirs('d:\hello') # 正常 os.makedirs('d:\hello\hi') # 正常 # 如果d:\hello目錄不存在 # 則os.makedirs('d:\hello\hi') # 仍然正常
各有優(yōu)缺點,根據(jù)自己需要選擇使用。
補充:Python中os.path和os.makedirs的運用(判斷文件或文件夾是否存在,創(chuàng)建文件夾)
import os import numpy as np data = np.array([1, 2, 3]) if not os.path.exists("./data/"): print("# path not exists") os.makedirs("./data/") if not os.path.exists("./data/data.npy"): print("# data.npy not exists") np.save("./data/data.npy", data) print("# path exists? :", os.path.exists("./data/")) print("# data.npy exists? :", os.path.exists("./data/data.npy"))
運行結(jié)果:
# path not exists # data.npy not exists # path exists? : True # data.npy exists? : True
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。
相關(guān)文章
感知器基礎(chǔ)原理及python實現(xiàn)過程詳解
這篇文章主要介紹了感知器基礎(chǔ)原理及python實現(xiàn)過程詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-09-09python+opencv 讀取文件夾下的所有圖像并批量保存ROI的方法
今天小編就為大家分享一篇python+opencv 讀取文件夾下的所有圖像并批量保存ROI的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-01-01Python cookbook(數(shù)據(jù)結(jié)構(gòu)與算法)將名稱映射到序列元素中的方法
這篇文章主要介紹了Python cookbook(數(shù)據(jù)結(jié)構(gòu)與算法)將名稱映射到序列元素中的方法,結(jié)合實例形式分析了Python使用collections.namedtuple()進行元組命名相關(guān)操作技巧,需要的朋友可以參考下2018-03-03