Python 批次處理檔案

Python 批次檔案操作教學:新手快速上手範例

Python 批次檔案操作教學,從建立 .py 檔案到匯入模組,全程一步一步帶領新手上手。本文範例涵蓋檔案搬移、複製、重新命名與刪除,並附上指令說明及案例解析,讓初學者快速掌握 Python 批次處理技巧,提升日常系統管理與資料操作效率。

建立批次檔案操作腳本

新手可依以下步驟建立 Python 批次檔案操作腳本:

  1. 在電腦上建立一個 Python 檔案,例如 batch_files.py
  2. 在檔案首行匯入需要的模組,示例如下:
  3. import os        # 操作檔案與目錄
    import shutil    # 檔案複製與搬移
    import glob      # 批次檔案搜尋
    import logging   # 紀錄操作日誌
    import yaml      # 讀取 YAML 設定檔 (需 pip install PyYAML)
  4. 確認已安裝 PyYAML 套件:pip install PyYAML
  5. 此時即可開始撰寫批次檔案操作程式。

批次檔案操作範例與指令

以下範例展示搬移、複製、重新命名及刪除檔案,並附上案例說明,方便新手理解每步操作。

案例一:搬移檔案

# 將所有 .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 檔即可變更操作範圍,程式自動讀取設定即可。

    PAGE TOP