python makedirs() 遞歸創(chuàng)建目錄
在 Python 中,os.makedirs() 函數(shù)用于遞歸地創(chuàng)建目錄。也就是說(shuō),它不僅會(huì)創(chuàng)建指定的目錄,還會(huì)創(chuàng)建任何必要的父目錄。這個(gè)函數(shù)在處理需要?jiǎng)?chuàng)建多級(jí)目錄結(jié)構(gòu)時(shí)非常有用。
1、語(yǔ)法
os.makedirs(name, mode=0o777, exist_ok=False)
1.1、參數(shù)
- name:要?jiǎng)?chuàng)建的目標(biāo)目錄路徑,可以是絕對(duì)路徑或相對(duì)路徑。
- mode(可選):設(shè)置目錄的權(quán)限模式,默認(rèn)為 0o777(八進(jìn)制表示),即讀、寫、執(zhí)行權(quán)限對(duì)所有用戶開放。
- exist_ok(可選):如果為 True,當(dāng)目標(biāo)目錄已經(jīng)存在時(shí)不會(huì)引發(fā)異常;如果為 False(默認(rèn)值),當(dāng)目標(biāo)目錄已經(jīng)存在時(shí)會(huì)引發(fā) FileExistsError 異常。
1.2、返回值
- 該函數(shù)沒有返回值。
1.3、示例
1.3.1、基本用法
import os
# 創(chuàng)建單級(jí)目錄
os.makedirs('test_dir')
# 創(chuàng)建多級(jí)目錄
os.makedirs('parent_dir/child_dir/grandchild_dir')1.3.2、使用 mode 參數(shù)
import os
# 創(chuàng)建目錄并設(shè)置權(quán)限為 0o755
os.makedirs('secure_dir', mode=0o755)1.3.3、使用 exist_ok 參數(shù)
import os
# 創(chuàng)建目錄,如果目錄已存在則不會(huì)引發(fā)異常
os.makedirs('existing_dir', exist_ok=True)1.3.4、錯(cuò)誤處理
如果目標(biāo)目錄已經(jīng)存在且 exist_ok 參數(shù)為 False,會(huì)引發(fā) FileExistsError 異常:
import os
try:
os.makedirs('existing_dir')
except FileExistsError:
print("Directory already exists")2、實(shí)際應(yīng)用
os.makedirs() 函數(shù)在需要確保目錄結(jié)構(gòu)存在時(shí)非常有用,例如在文件寫入操作之前:
import os
def save_file(file_path, content):
# 提取目錄路徑
dir_path = os.path.dirname(file_path)
# 創(chuàng)建目錄(如果不存在)
os.makedirs(dir_path, exist_ok=True)
# 寫入文件
with open(file_path, 'w') as file:
file.write(content)
# 使用示例
save_file('data/output/file.txt', 'Hello, world!')通過(guò)使用 os.makedirs() 函數(shù),可以方便地創(chuàng)建所需的目錄結(jié)構(gòu),從而避免手動(dòng)檢查和創(chuàng)建目錄的繁瑣過(guò)程,提高代碼的簡(jiǎn)潔性和可維護(hù)性。
到此這篇關(guān)于python makedirs() 遞歸創(chuàng)建目錄的文章就介紹到這了,更多相關(guān)python makedirs() 創(chuàng)建目錄內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
用Python編程實(shí)現(xiàn)語(yǔ)音控制電腦
是否經(jīng)常好萊塢電影里看強(qiáng)大的語(yǔ)音識(shí)別系統(tǒng)? 是否每每看到都會(huì)羨慕嫉妒恨? 可是我們真心買不起啊。2014-04-04
系統(tǒng)梳理Python中的虛擬環(huán)境工具
在 Python 開發(fā)中,多 Python 版本切換、項(xiàng)目依賴隔離、版本一致性復(fù)刻是日常開發(fā)剛需,本文將為大家系統(tǒng)梳理一下,希望對(duì)大家有一定的幫助2026-05-05
matplotlib中l(wèi)egend位置調(diào)整解析
這篇文章主要介紹了matplotlib中l(wèi)egend位置調(diào)整解析,具有一定借鑒價(jià)值,需要的朋友可以參考下。2017-12-12
python函數(shù)超時(shí)自動(dòng)退出的實(shí)操方法
在本篇文章里小編給大家整理的是一篇關(guān)于python函數(shù)超時(shí)自動(dòng)退出的實(shí)操方法,有需要的朋友們可以學(xué)習(xí)下。2020-12-12
使用Python實(shí)現(xiàn)PDF頁(yè)面設(shè)置操作
這篇文章主要為大家詳細(xì)介紹了如何使用Python實(shí)現(xiàn)PDF頁(yè)面設(shè)置操作,例如旋轉(zhuǎn)頁(yè)面和調(diào)整頁(yè)面順序,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-04-04
PYTHON實(shí)現(xiàn)SIGN簽名的過(guò)程解析
這篇文章主要介紹了PYTHON實(shí)現(xiàn)SIGN簽名的過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-10-10
Tensorflow實(shí)現(xiàn)卷積神經(jīng)網(wǎng)絡(luò)用于人臉關(guān)鍵點(diǎn)識(shí)別
這篇文章主要介紹了Tensorflow實(shí)現(xiàn)卷積神經(jīng)網(wǎng)絡(luò)用于人臉關(guān)鍵點(diǎn)識(shí)別,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-03-03
Python工程師面試題 與Python Web相關(guān)
這篇文章主要為大家分享了Python工程師面試題,面試題的內(nèi)容主要與Python Web相關(guān),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-01-01

