python中文輸出亂碼
① python 文件在 Windows 控制台輸出亂碼問題、報錯問題 總結 以統計記事本中文字數為例
在使用Python編寫統計記事本中文字數的腳本並嘗試在Windows控制台輸出時,遇到中文報錯問題。使用常見的Phchrm運行代碼時一切正常,但在Windows控制台運行時出現中文亂碼或報錯現象。為解決此問題,我們首先需要了解Windows控制台的默認編碼格式為GBK,而非UTF-8。以下步驟詳細說明了如何解決此類問題:
### 解決步驟
1. **編碼格式修改**:
- **更改控制台編碼**:通過執行`CHCP`命令,確認當前使用的是GBK編碼。為實現UTF-8編碼,使用`CHCP 65001`命令。使用截圖展示更改步驟。
2. **文件編碼檢查**:在創建Python文件時,直接使用記事本創建並修改後綴名為.py。需要檢查文件的編碼格式,若默認為ANSI,則修改為UTF-8。截圖展示了文件編碼修改過程。
3. **代碼執行**:完成編碼修改後,代碼可以正常運行。運行截圖展示了解決問題後的結果。
### 其他解決方案**
- **使用IDE運行**:如使用PyCharm等IDE內部的終端環境運行腳本,可以避免編碼相關問題。運行截圖作為參考。
### 代碼示例**
- **統計記事本中文字數的代碼**:
python
with open("c.txt", "r", encoding="utf-8") as file:
content = file.read()
word_count = len(content.split())
print(word_count)
將上述代碼保存為.py文件,然後使用命令`python m.py "c.txt"`在PowerShell中運行。
### 注意事項**
- 確保.txt文件與.py文件位於同一目錄中,運行時使用相對路徑。若文件位於不同目錄,需提供絕對路徑。
### 總結**
- 通過上述步驟,解決了Python腳本在Windows控制台輸出中文亂碼的問題。關鍵在於正確設置文件編碼和控制台編碼。細節決定成敗,耐心與細心是解決問題的關鍵。感謝閱讀,如有幫助,不妨點個贊或關注,以便後續分享更多開發技巧。
② 為什麼Python腳本中的中文在CMD中輸入為亂碼
在Windows環境下,如果你的CMD終端顯示的Python腳本中的中文出現亂碼,首先需要檢查腳本的編碼格式是否與CMD環境的編碼格式一致。通常情況下,CMD默認使用GB2312編碼。
如果你的Python腳本是用UTF-8編碼編寫,你需要在腳本頂部添加註釋來明確編碼格式,例如:# -*- coding: utf-8 -*-。這將告訴Python解釋器使用UTF-8編碼來讀取腳本。
然而,如果你的腳本和CMD環境都使用GB2312編碼,你可以通過如下步驟修改Python腳本中的默認編碼格式:
首先,使用sys.getdefaultencoding()獲取當前默認編碼格式。
然後,使用reload(sys)重新載入sys模塊。
接著,使用sys.setdefaultencoding('GB2312')將默認編碼格式設置為GB2312。
最後,再次使用sys.getdefaultencoding()檢查默認編碼是否已更改為GB2312。
這樣設置後,你的Python腳本中的中文應該能夠在CMD環境中正確顯示。
值得注意的是,sys.setdefaultencoding()在Python 3中已被移除,因此在Python 3環境中,確保腳本本身的編碼格式與CMD環境一致是關鍵。
總之,正確設置編碼格式可以避免Python腳本中的中文在CMD環境中出現亂碼的問題。