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

在 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("路徑不存在。")

參考來源:

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

返回頂端