Python 繁簡轉換神器 OpenCC:安裝避坑與實戰指南; pip install opencc-python-reimplemented ; from opencc import OpenCC ; cc = OpenCC(‘s2twp’) ; cc.convert(“不仅内存不够,而且服务器挂了”)

加入好友
加入社群
Python 繁簡轉換神器 OpenCC:安裝避坑與實戰指南; pip install opencc-python-reimplemented ; from opencc import OpenCC ; cc = OpenCC('s2twp') ; cc.convert("不仅内存不够,而且服务器挂了") - 儲蓄保險王

在處理中文資料(尤其是 NLP 或搜尋引擎)時,**「繁簡轉換」**是必經之路。而 OpenCC (Open Chinese Convert) 是目前公認轉換品質最好的開源庫。

但許多 Python 開發者在第一步安裝時就會踩到坑。本篇指南將帶您避開地雷,快速上手。

## 🚨 安裝避坑指南 (很重要,請先讀這裡)

OpenCC 在 PyPI 上有兩個主要的套件,名稱極易混淆:

### 1. ❌ 盡量**不要**安裝 `opencc`

*   **指令**: `pip install opencc`

*   **問題**: 這是 C++ 原生庫的 Python 綁定。在 Windows 上安裝極其痛苦,需要編譯器 (Visual Studio C++ Build Tools),極容易報錯失敗。

### 2. ✅ **請安裝** `opencc-python-reimplemented`

*   **指令**: `pip install opencc-python-reimplemented`

*   **優點**: 這是用純 Python 重寫的版本。**不需編譯,跨平台,安裝即用**。功能與原版完全一致。
# reimplemented: 重新實現

## 🛠️ 安裝與引入

雖然安裝的套件名稱很長,但在程式碼中引入時,名稱依然是 `opencc`。

### Step 1: 安裝

在終端機 (Terminal) 執行:

pip install opencc-python-reimplemented

### Step 2: 引入

在 Python 程式碼中:

# 注意這裡 import 的是 "opencc"
# 不是那一長串名字 opencc-python-reimplemented
from opencc import OpenCC

## ⚡ 快速上手範例

### 1. 基礎轉換 (字串對字串)

最常用的模式是 `s2t` (Simplified to Traditional,簡轉繁) 和 `t2s` (繁轉簡)。

# %%
cc = OpenCC('s2t')
text_simp = "鼠标里面的硅胶坏了,导致光标无法移动"
text_trad = cc.convert(text_simp)

print(f"簡體: {text_simp}")
print(f"繁體: {text_trad}")
# 輸出: 滑鼠裡面的矽膠壞了導致游標無法移動
# OpenCC 強大之處在於詞彙轉換鼠标->滑鼠, 硅胶->矽膠

# === 繁體  簡體 (t2s) ===
cc_rev = OpenCC('t2s')
print(f"回轉: {cc_rev.convert(text_trad)}")
Python 繁簡轉換神器 OpenCC:安裝避坑與實戰指南; pip install opencc-python-reimplemented ; from opencc import OpenCC ; cc = OpenCC('s2twp') ; cc.convert("不仅内存不够,而且服务器挂了") - 儲蓄保險王

### 2. 進階:支援的轉換模式

OpenCC 支援多種配置,初始化時傳入字串即可:

Python 繁簡轉換神器 OpenCC:安裝避坑與實戰指南; pip install opencc-python-reimplemented ; from opencc import OpenCC ; cc = OpenCC('s2twp') ; cc.convert("不仅内存不够,而且服务器挂了") - 儲蓄保險王

**推薦使用 `s2twp` 來處理台灣用語:**

cc = OpenCC('s2twp')
print(cc.convert("不仅内存不够,而且服务器挂了"))
# 輸出: 不僅記憶體不夠而且伺服器當了
# (注意内存->記憶體, 服务器->伺服器, 挂了->當了)
Python 繁簡轉換神器 OpenCC:安裝避坑與實戰指南; pip install opencc-python-reimplemented ; from opencc import OpenCC ; cc = OpenCC('s2twp') ; cc.convert("不仅内存不够,而且服务器挂了") - 儲蓄保險王

## 📂 實戰:批次檔案重新命名

這是一個常見的需求:將資料夾內所有檔名從簡體轉為繁體。

from pathlib import Path
from opencc import OpenCC

# 1. 初始化轉換器 (使用台灣慣用語模式)
cc = OpenCC('s2twp')

# 2. 設定資料夾
target_dir = Path("./my_documents")

# 3. 遍歷檔案
for file_path in target_dir.glob("*.docx"):
    original_name = file_path.stem  # 檔名 (不含副檔名)
    extension = file_path.suffix    # 副檔名 (.docx)
    
    # 轉換檔名
    converted_name = cc.convert(original_name)
    
    # 組合新路徑
    new_path = file_path.with_name(f"{converted_name}{extension}")
    
    if new_path != file_path:
        print(f"重新命名: {file_path.name} -> {new_path.name}")
        # file_path.rename(new_path) # 解開註解以執行實際改名

推薦hahow線上學習python: https://igrape.net/30afN

加入好友
加入社群
Python 繁簡轉換神器 OpenCC:安裝避坑與實戰指南; pip install opencc-python-reimplemented ; from opencc import OpenCC ; cc = OpenCC('s2twp') ; cc.convert("不仅内存不够,而且服务器挂了") - 儲蓄保險王

儲蓄保險王

儲蓄險是板主最喜愛的儲蓄工具,最喜愛的投資理財工具則是ETF,最喜愛的省錢工具則是信用卡

You may also like...

發佈留言

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