【Python 檔案處理 #6】python 建立資料夾範例 mkdir os.makedirs() (內附範例程式碼,可以複製直接套用) sample code

前言

我們在進行 python 檔案處理時,會經常需要建立指定路徑的資料夾,
本文提供 建立資料夾的模版可供直接套用。

範例與模板

import os
os.makedirs(path, mode=0o777)

其中:

  • path: 想要建立的資料夾路徑
  • mode=0o777:建立資料夾的權限(像這裡就是權限777)

補充說明

「os.makedirs」建立的資料夾路徑,是必定建立的!
(也就是說,如果沿著路徑上的資料夾不存在,都會建立)

import os
path = "./a/b/c"
os.makedirs(path, mode=0o777)

我們可以看到路徑會全部建立出來!

注意事項 -「當目的路徑已經存在,會有error!」

我們將上面的程式碼重複執行兩次,
我們會發現第二次的時候出現了 Error,
表示我們不能在已經存在的目的路徑,再執行一次。(見下圖)

注意事項 - 應對處理方式

我們參考這篇文章提供的方法,預先檢查資料夾是否存在。
並且搭配 if 的方式預先進行檢查,如果存在就不做創建資料夾的動作。

https://wongwongnotes-github-io.pages.dev/python/python_file_process/python-isfile-isdir/

import os
path = "./a/b/c"
if not os.path.isdir(path):
    os.makedirs(path, mode=0o777)

如此一來,在創建資料夾之前,
我們都能先透過「if not os.path.isdir(path)」這行先確認資料夾是否存在。
避免程式出現 error 而中止。

注意事項 - 小實驗

我們可以先移除最終的目的資料夾「 c 」,在執行一次看看,
我們發現程式就能夠正常執行,也就是說我們只需要保證「最終資料夾不存在」即可。

不走 python 流派也是有其他作法

可以參考這篇:

https://wongwongnotes-github-io.pages.dev/linux/linux_basic/linux-ubuntu-mkdir/

運用 linux 指令搭配 python 的 os.system() 也能達到一樣的效果哦!

Refernce

https://www.runoob.com/python/os-makedirs.html
https://wongwongnotes-github-io.pages.dev/python/python_file_process/python-isfile-isdir/