針對 內容處理 的兩大功能:
- 簡體轉繁體:逐行將文件中的簡體字轉換為繁體字。
- 內容去重複:如果文件內連續兩行內容一模一樣,僅保留第一行。
要運行這支程式,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文字檔,將此小程式放在同資料夾後,執行。