Python 批次檔案操作教學,從建立 .py 檔案到匯入模組,全程一步一步帶領新手上手。本文範例涵蓋檔案搬移、複製、重新命名與刪除,並附上指令說明及案例解析,讓初學者快速掌握 Python 批次處理技巧,提升日常系統管理與資料操作效率。
建立批次檔案操作腳本
新手可依以下步驟建立 Python 批次檔案操作腳本:
- 在電腦上建立一個 Python 檔案,例如
batch_files.py。 - 在檔案首行匯入需要的模組,示例如下:
- 確認已安裝 PyYAML 套件:pip install PyYAML
- 此時即可開始撰寫批次檔案操作程式。
import os # 操作檔案與目錄
import shutil # 檔案複製與搬移
import glob # 批次檔案搜尋
import logging # 紀錄操作日誌
import yaml # 讀取 YAML 設定檔 (需 pip install PyYAML)
批次檔案操作範例與指令
以下範例展示搬移、複製、重新命名及刪除檔案,並附上案例說明,方便新手理解每步操作。
案例一:搬移檔案
# 將所有 .txt 檔案從 source 目錄搬移到 destination
for file_path in glob.glob(os.path.join("/source", "*.txt")):
shutil.move(file_path, "/destination")
logging.info(f"搬移完成: {file_path}") # 記錄搬移檔案
案例二:複製檔案
# 將所有 .log 檔案複製到 backup 目錄
for file_path in glob.glob(os.path.join("/source", "*.log")):
shutil.copy(file_path, "/backup")
logging.info(f"複製完成: {file_path}") # 記錄複製檔案
案例三:重新命名檔案
# 將 destination 目錄的 .txt 檔案依序重新命名
for index, file_path in enumerate(glob.glob(os.path.join("/destination", "*.txt")), start=1):
base = os.path.basename(file_path)
new_name = f"file_{index}.txt"
os.rename(file_path, os.path.join("/destination", new_name))
logging.info(f"重新命名 {base} -> {new_name}") # 記錄重新命名
案例四:刪除檔案
# 刪除 destination 目錄的所有 .bak 檔案
for file_path in glob.glob(os.path.join("/destination", "*.bak")):
os.remove(file_path)
logging.info(f"刪除完成: {file_path}") # 記錄刪除檔案
YAML 設定範例
# config.yaml
source_dir: "/source"
destination_dir: "/destination"
backup_dir: "/backup"
file_types:
- "*.txt"
- "*.log"
- "*.bak"
使用 YAML 可統一管理目錄與檔案型別設定,新手只需修改 YAML 即可改變批次操作範圍。
FAQ 常見問題
如何建立 Python 批次檔案操作腳本?
新手可在電腦上建立一個 .py 檔案,例如 batch_files.py,首行輸入 import os, import shutil, import glob, import logging, import yaml,並使用 pip install PyYAML 安裝 yaml 套件,即可開始批次操作,快速上手無需額外設定。
Python 批次搬移檔案如何操作?
使用 shutil.move 搭配 glob 找到目標檔案後搬移,簡單快速,例如將 /source/*.txt 批次搬到 /destination,可自動處理大量檔案,並搭配 logging 紀錄操作。
Python 批次複製檔案範例?
使用 shutil.copy 搭配 glob 批次複製檔案到目標目錄,可同時處理多個副檔名,方便備份或多目標儲存。
如何批次重新命名檔案?
使用 os.rename 配合 enumerate 批次修改檔名,例如 file_1.txt, file_2.txt 等,方便管理大量檔案。建議搭配 logging 記錄每次變更,確保安全。
Python 批次刪除檔案要注意什麼?
使用 os.remove 批次刪除檔案,建議先確認檔案副檔名與目錄,避免誤刪重要檔案。可以先使用 glob 列出檔案,確認後再刪除。
YAML 設定檔如何使用?
將批次操作參數寫入 config.yaml,例如來源目錄、目標目錄、檔案類型等,新手只需修改 YAML 檔即可變更操作範圍,程式自動讀取設定即可。
