跳至主要內容
CJCJ Kuo

全站文章搜尋

輸入關鍵字即刻在靜態索引中快速搜尋
↑↓ 導航 · Enter 選取前往獨立搜尋頁 →
Python 檢查檔案、目錄、超連結是否存在,OS、pathlib 兩套件使用方法一次學
資訊技術••約 2 分鐘•333 字

Python 檢查檔案、目錄、超連結是否存在,OS、pathlib 兩套件使用方法一次學

本文目錄共 3 節

在 Python 讀取檔案上提供兩種方法來做為參考,早期都是使用OS此套件來檢查物件等等,後來發現 Pathlib 更好使用跨多種作業系統上時可以自動轉換路徑,可避免了目錄寫法不同的陷阱,下方提供OS、pathlib 兩套件檢查檔案、目錄、超連結示範寫法。

Python OS 模組

使用Python OS 套件檢查檔案是否存在

import os

# 要檢查的檔案路徑
filepath = "/tmp/test.txt"

# 檢查檔案是否存在
if os.path.isfile(filepath):
  print("檔案存在")
else:
  print("檔案不存在")

使用Python OS 套件檢查是否為超連結

import os

# 要檢查的檔案路徑
filepath = "/tmp/test.txt"

# 檢查是否為連結檔
if os.path.islink(filepath):
  print("超連結檔")
else:
  print("非超連結檔")

使用Python OS 套件檢查目錄是否存在

import os

# 要檢查的目錄路徑
folderpath = "/tmp"

# 檢查目錄是否存在 
if os.path.isdir(folderpath):
  print("目錄存在")
else:
  print("目錄不存在")

使用Python OS 套件檢查路徑或檔案是否存在

os.path.exists 跟上面兩個有點不同,他會檢查的是路徑或檔案只要存在就會回傳真,所以在使用上要特別注意。

import os

# 要檢查的目錄路徑
folderpath = "/tmp"

# 檢查路徑是否存在
if os.path.exists(filepath):
  print("路徑存在")
else:
  print("路徑不存在")

Python pathlib 模組

在Python 3.4後引入的套件,用物件導向的方式來操作檔案,整體使用上又更加簡單一些。

使用Python pathlib 套件檢查檔案是否存在

# 引入 pathlib 模組
from pathlib import Path

# 檔案路徑
file = Path("/tmp/test.log")

# 檢查路徑是否為檔案
if file.is_file():
  print("路徑是檔案。")
else:
  print("路徑不是檔案。")

使用Python pathlib 套件檢查是否存為超連結

# 引入 pathlib 模組
from pathlib import Path

# 檔案路徑
file = Path("/tmp/test.log")

# 檢查路徑是否為目錄
if my_file.is_symlink():
  print("是超連結")
else:
  print("不是超連結")

使用Python pathlib 套件檢查目錄是否存在

# 引入 pathlib 模組
from pathlib import Path

# 目錄路徑
file = Path("/tmp")

# 檢查路徑是否為目錄
if my_file.is_dir():
  print("是目錄")
else:
  print("不是目錄")

使用Python pathlib 套件檢查目錄或檔案是否存在

# 引入 pathlib 模組
from pathlib import Path

# 目錄路徑
file = Path("/tmp")

# 檢查路徑是否存在
if my_file.exists():
  print("路徑存在。")
else:
  print("路徑不存在。")

參考來源:

查看此系列所有文章 →
CJ Kuo (郭仕杰)

CJ Kuo (郭仕杰)

創辦人兼主筆

熱愛軟體架構、DevOps、系統調優與新技術探索的工程實踐者,也會寫寫投資和生活。

獨立技術專刊推播

訂閱技術電子報

有新文章發布時寄送到您的信箱,不發送垃圾信。