Python os.mkdir()與os.makedirs()的使用區(qū)別
os.makedir(path)和os.makedirs(path)
今天工作中將hadoop文件同步到服務(wù)器磁盤,由于文件類別目錄較多,遷移文件時(shí)需要判斷是否存在
這里有兩個(gè)方法os.mkdir(path)和os.makedirs(path)
os.mkdir(path)
他的功能是一級(jí)一級(jí)的創(chuàng)建目錄,前提是前面的目錄已存在,如果不存在會(huì)報(bào)異常,比較麻煩,但是存在即有他的道理,當(dāng)你的目錄是根據(jù)文件名動(dòng)態(tài)創(chuàng)建的時(shí)候,你會(huì)發(fā)現(xiàn)他雖然繁瑣但是很有保障,不會(huì)因?yàn)槟愕囊粫r(shí)手抖,創(chuàng)建而創(chuàng)建了雙層或者多層錯(cuò)誤路徑,
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)建多級(jí)目錄,哪怕中間目錄不存在也能正常的(替你)創(chuàng)建,想想都可怕,萬(wàn)一你中間目錄寫錯(cuò)一個(gè)單詞.........
import os
os.makedirs('d:\hello') # 正常
os.makedirs('d:\hello\hi') # 正常
# 如果d:\hello目錄不存在
# 則os.makedirs('d:\hello\hi') # 仍然正常
各有優(yōu)缺點(diǎn),根據(jù)自己需要選擇使用。
補(bǔ)充:Python中os.path和os.makedirs的運(yùn)用(判斷文件或文件夾是否存在,創(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"))
運(yùn)行結(jié)果:
# path not exists # data.npy not exists # path exists? : True # data.npy exists? : True
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。
相關(guān)文章
解決Django中調(diào)用keras的模型出現(xiàn)的問題
今天小編就為大家分享一篇解決Django中調(diào)用keras的模型出現(xiàn)的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧2019-08-08
pytorch的backward()的底層實(shí)現(xiàn)邏輯詳解
自動(dòng)微分是一種計(jì)算張量(tensors)的梯度(gradients)的技術(shù),它在深度學(xué)習(xí)中非常有用,這篇文章主要介紹了pytorch的backward()的底層實(shí)現(xiàn)邏輯,需要的朋友可以參考下2023-11-11
Python實(shí)現(xiàn)基本數(shù)據(jù)結(jié)構(gòu)中棧的操作示例
這篇文章主要介紹了Python實(shí)現(xiàn)基本數(shù)據(jù)結(jié)構(gòu)中棧的操作,包括基于Python實(shí)現(xiàn)棧的定義、入棧、出棧、判斷??栈驐M等情況,需要的朋友可以參考下2017-12-12
Python實(shí)現(xiàn)將多個(gè)文件的名稱或后綴名由大寫改為小寫
這篇文章主要介紹了如何基于Python語(yǔ)言實(shí)現(xiàn)將多個(gè)文件的名稱或后綴名由大寫字母修改為小寫,文中的示例代碼講解詳細(xì),感興趣的可以了解下2023-09-09
解決django框架model中外鍵不落實(shí)到數(shù)據(jù)庫(kù)問題
這篇文章主要介紹了解決django框架model中外鍵不落實(shí)到數(shù)據(jù)庫(kù)問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧2020-05-05
在Python中操作列表之list.extend()方法的使用
這篇文章主要介紹了在Python中操作列表之list.extend()方法的使用,是Python入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下2015-05-05
Keras使用預(yù)訓(xùn)練模型遷移學(xué)習(xí)單通道灰度圖像詳解
這篇文章主要介紹了Keras使用預(yù)訓(xùn)練模型遷移學(xué)習(xí)單通道灰度圖像詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-02-02
python中函數(shù)默認(rèn)值使用注意點(diǎn)詳解
下面小編就為大家?guī)?lái)一篇python中函數(shù)默認(rèn)值使用注意點(diǎn)詳解。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧2016-06-06

