pythoncmd亂碼
執行python腳本出現亂碼的解決方法:首先把中文解碼為unicode,具體方法如:【decode('utf-8')】;然後再轉化為gbk即可,具體方法如:【encode('gbk')】。
問題:
代碼中指定了UTF-8編碼,但是在cmd命令行窗口時列印的中文仍然會亂碼。
(推薦教程:Python入門教程)
原因:
windows下中文默認的輸出編碼為gbk ,與腳本中定義的UTF-8不一樣,所以出現了解碼失敗的情況。
解決方法:
可以先把中文解碼為unicode,然後再轉化為gbk來解決這個問題。
舉例:
運行結果:
② 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控制台輸出中文亂碼的問題。關鍵在於正確設置文件編碼和控制台編碼。細節決定成敗,耐心與細心是解決問題的關鍵。感謝閱讀,如有幫助,不妨點個贊或關注,以便後續分享更多開發技巧。
③ 解決pycharm中Python console顯示中文亂碼
在解決PyCharm中Python console顯示中文亂碼的問題上,經過一系列探索,以下方法成功解決了此困擾:
第一步:在PyCharm主界面,點擊頂部菜單欄的"File"選項,展開下拉菜單,選擇"Settings"進入設置界面。在設置界面的搜索框中輸入關鍵詞"console",找到"Python console"設置項。
第二步:在"Python console"設置的右側,找到"Environment variables"一欄,這里需要進行關鍵操作。在該欄輸入"PYTHONIOENCODING=UTF-8",此操作將確保Python在執行時使用UTF-8編碼。
第三步:向下滾動至"Starting script"區域,在其末尾添加一行代碼:"import os;os.system('chcp 65001')"。這行代碼的目的是將控制台的編碼方式設置為GB2312,以支持中文顯示。
第四步:完成上述操作後,重啟Python console,中文亂碼問題即得到解決。
通過以上步驟的實施,不僅解決了在PyCharm中Python console顯示中文亂碼的問題,還對編碼方式進行了優化,確保了程序的正確性和中文顯示的正常性。這一解決方案簡潔有效,對於在開發過程中遇到類似問題的開發者具有重要的指導意義。
④ PyCharm編寫 os.system調用cmd輸出亂碼,直接print中文是正常的,用Python的工具去調用os.system 也正常
試了一下,用迂迴的辦法解決:
importsubprocess
ping=subprocess.Popen(["ping","127.0.0.1"],stdout=subprocess.PIPE,stderr=subprocess.PIPE)
out,error=ping.communicate()
print(out.decode('gbk'))#gbk是我電腦上的編碼,你可以試試其他的
⑤ 為什麼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環境中出現亂碼的問題。