python3如何解決讀取中文檔案的編碼問題?

時間 2021-06-03 15:40:28

1樓:

今天遇到同樣的問題,也是在讀取檔案時。

將同一py指令碼在自己虛擬機器上執行,成功執行。放到伺服器上就報錯。

UnicodeDecodeError: 'ascii' codec can't decode byte 0xe6 in position 0: ordinal not in range(128

1、使用codecs模組無解2、嘗試使用 decode和encode無解逐步排查,發現即使不讀取檔案

print

("任何中文"

)同樣報錯

最終解決方法:

更改centos系統語言$LANG

LANG=en_US.UTF-8

完美解決

2樓:SiriusHsh

使用codecs模組嘍。

>>>import

codecs

>>>with

codecs

.open

('filename'

,encoding

='utf-8')as

f:...f

.read()

3樓:Hello World

不管是設定裡面儲存為UTF-8,還是首行宣告為為UTF-8,都是指的是你當前這個Python檔案採用的編碼。

如果想正確讀取和寫入外部檔案:

1,了解你外部檔案儲存的時候採用的什麼編碼2,善用decode和encode,並考慮是否需要先decode再encode

python3如何進行多行輸入?

奴隸罷了 lines words input 請輸入內容 單獨輸入 w 儲存退出 while words w words input print lines w 字串是停止的字串,而且不會加入到lines列表中.可以用writelines 方法把lines裡的資料寫到檔案裡,Down 勞里林 Raw...

Python3如何順利完成 環境搭建

最近剛好寫了篇部落格 Python 應用開發最佳實踐 環境搭建篇 這是和團隊裡的工程師交流總結的最適合入門使用的 Python 開發環境搭建方案。文章裡詳細介紹了一些現代化的配置方案,並針對 Python 社群中有關環境配置的常見問題給出了價效比最高的解決方案。目前部落格還沒完整寫完,但足夠小白使用...

這個python問題如何解決

盜藍 只返回第乙個最長的數字字串 import re string 983fh398fh29q83u9283f9299h3 int list re findall r d string int list 983 398 29 83 9283 9299 3 result max int list ke...