Python 3 開檔預設使用平台編碼(Windows 為 cp950/utf-8,Linux 為 utf-8),直接寫入 Unicode 字串通常無問題。但為確保跨平台相容,建議明確指定 encoding='utf-8'。本文示範正確寫法與常見錯誤。
# -*- coding: utf-8 -*-
content = '你好,腳本之家 .net'
with open('c:/1.txt', 'w', encoding='utf-8') as f:
f.write(content)
Python 2 需使用 codecs 模組或 io.open:
# -*- coding: utf-8 -*-
import codecs
content = u'你好,腳本之家 .net'
with codecs.open('c:/1.txt', 'w', 'utf-8') as f:
f.write(content)
UnicodeEncodeError。# -*- coding: utf-8 -*-。encoding='utf-8'(或 'utf-8-sig' 含 BOM)。with 區塊確保檔案正確關閉。
# 分塊寫入大字串
with open('large.txt', 'w', encoding='utf-8') as f:
for chunk in generate_chunks():
f.write(chunk)
正確處理編碼是 Python 處理中文資料的基礎技能。