[Python] 小程式開發:繁簡去重複小幫手

針對 內容處理 的兩大功能:

  1. 簡體轉繁體:逐行將文件中的簡體字轉換為繁體字。
  2. 內容去重複:如果文件內連續兩行內容一模一樣,僅保留第一行。

要運行這支程式,Windows 電腦需要安裝以下 Python 套件:

opencc: 用於簡體轉繁體的轉換

$ pip install opencc-python-reimplemented

import os  # 用於處理檔案路徑和檔名
from opencc import OpenCC  # 用於簡體轉繁體

# 這支程式的功能:
# 1. 將 .txt 文件中的簡體中文轉換為繁體中文
# 2. 刪除 .txt 文件中連續重複的行,只保留第一行
# 3. 最後將處理過的內容重新寫回到原始文件中

# 初始化簡體轉繁體的轉換器
cc = OpenCC('s2t')  # 's2t' 表示從簡體轉繁體

# 獲取當前腳本所在的資料夾路徑
folder_path = os.path.dirname(os.path.abspath(__file__))

# 取得資料夾中所有 txt 文件的檔案名稱
txt_files = [f for f in os.listdir(folder_path) if f.endswith('.txt')]

# 處理每個 txt 文件
for file_name in txt_files:
    file_path = os.path.join(folder_path, file_name)

    # 讀取 txt 文件中的所有行
    with open(file_path, 'r', encoding='utf-8') as file:
        lines = file.readlines()

    new_lines = []
    previous_content = None  # 用來儲存前一行的內容

    # 逐行處理 txt 文件
    for line in lines:
        # 將每行的簡體字轉換為繁體字
        content = cc.convert(line.strip())  
        # 去除換行符或多餘空白並轉換繁體

        # 如果這行和上一行不一樣,就保留
        if content != previous_content:
            new_lines.append(content + '\n')  
        # 將處理過的行加上換行符再儲存

        # 更新上一行的內容
        previous_content = content

    # 將去重和轉換後的內容寫回文件
    with open(file_path, 'w', encoding='utf-8') as file:
        file.writelines(new_lines)

print("所有文件處理完成。")

如果有 100個 txt文字檔,將此小程式放在同資料夾後,執行。