1. 開始介紹
使用 Python 可以輕鬆地管理檔案與目錄。尤其是建立目錄,是整理檔案、備份資料或自動生成內容時經常執行的操作之一。本教學將詳細說明如何使用 os
模組與 pathlib
模組來建立目錄。同時也會介紹遞迴建立目錄與錯誤處理的方式,內容淺顯易懂,適合 Python 初學者學習。
2. 使用 os.mkdir() 建立目錄
基本用法
os.mkdir()
是在指定路徑下建立單一目錄的基本方法。不過,這個函式有個限制:如果上層目錄不存在,會導致錯誤。例如,以下是建立目錄的簡單範例:
import os
# 指定要建立的目錄路徑
dir_path = './new_directory'
# 建立目錄
os.mkdir(dir_path)
這段程式碼會在指定路徑下建立目錄,但如果已經有相同名稱的目錄存在,就會產生 FileExistsError
。這是使用 os.mkdir()
時需要注意的地方。
錯誤處理
透過先確認目錄是否已存在來避免錯誤。以下是具體範例:
import os
# 指定要建立的目錄路徑
dir_path = './new_directory'
# 確認目錄是否存在
if not os.path.exists(dir_path):
os.mkdir(dir_path)
else:
print(f"目錄 '{dir_path}' 已經存在。")
這種方式可以避免在已存在的目錄上重複建立,進而防止錯誤發生。

3. 使用 os.makedirs() 遞迴建立目錄
遞迴建立目錄
os.makedirs()
可以說是 os.mkdir()
的進階版本。它能夠一次建立多層的目錄,即使上層目錄尚未存在,也會一併自動建立中間的目錄。
import os
# 包含中間目錄的路徑
dir_path = './parent_directory/sub_directory'
# 遞迴建立目錄
os.makedirs(dir_path)
在這個範例中,parent_directory
和其中的 sub_directory
會一次被建立。即使中間的目錄不存在,也不會出錯,顯示出這個方法的高便利性。
使用 exist_ok=True 處理錯誤
os.makedirs()
提供了 exist_ok
選項,即使目錄已經存在,也能避免發生錯誤繼續執行。
import os
dir_path = './parent_directory/sub_directory'
# 即使目錄已存在也不會發生錯誤
os.makedirs(dir_path, exist_ok=True)
使用這種方式,就不需要事先檢查目錄是否存在,能簡化錯誤處理的流程。
4. 使用 pathlib 模組建立目錄
使用 Path 物件建立目錄
pathlib
模組是從 Python 3.4 開始引入的,提供了操作檔案系統路徑的便利方式。透過 Path()
物件,不僅能提升程式的可讀性,也更具現代化。
from pathlib import Path
# 指定目錄的路徑
dir_path = Path('./new_directory')
# 建立目錄
dir_path.mkdir()
pathlib
的優點是可以使用物件導向的方式來操作路徑,使程式碼更直覺、更易於維護。
遞迴建立目錄與錯誤處理
使用 pathlib
來遞迴建立多層目錄也很簡單,只要設定適當的選項即可。
from pathlib import Path
# 包含中間目錄的路徑
dir_path = Path('./parent_directory/sub_directory')
# 一次建立所有層級的目錄
dir_path.mkdir(parents=True, exist_ok=True)
這段程式碼會一次建立包含中間層的多層目錄,即使目錄已經存在也不會出錯。

5. 確認目錄是否存在與錯誤處理
確認目錄是否已存在,是進行錯誤處理的基本步驟。可以使用 os
模組或 pathlib
模組來確認目錄是否存在,確保操作的安全性。
使用 os 模組進行確認
import os
dir_path = './new_directory'
if os.path.exists(dir_path):
print(f"目錄 '{dir_path}' 已經存在。")
else:
print(f"目錄 '{dir_path}' 不存在。")
使用 pathlib 進行確認
from pathlib import Path
dir_path = Path('./new_directory')
if dir_path.exists():
print(f"目錄 '{dir_path}' 已經存在。")
else:
print(f"目錄 '{dir_path}' 不存在。")
6. 總結
在這篇文章中,我們詳細介紹了如何使用 Python 建立目錄的各種方法。你學會了 os.mkdir()
與 os.makedirs()
之間的差異,了解了遞迴建立目錄與錯誤處理的技巧。此外,我們也學習了如何使用 Python 的新標準模組 pathlib
,撰寫出更簡潔且易讀的程式碼。
根據實際需求選擇最適合的方法,能讓你的目錄操作更有效率、更穩定。