Python檔案中文編碼問題

2022-02-24 13:37:45 字數 1020 閱讀 4301

需要讀取utf-8編碼的中文檔案,先利用sublime text軟體將它改成無dom的編碼,並且在第一行寫:

#

encoding: utf-8

然後用以下**:

with codecs.open(note_path, 'r+','utf-8') as f:

line=f.readline()

print line

這樣就可以正確地讀出檔案裡面的中文字元了。

當然,前面的方法只能讀一行,要讀出所有資料,就使用readlines(),然後再遍歷:

with codecs.open(note_path, '

r+','

utf-8

') as f:

lines=f.readlines()

for problemname in lines:

同樣的,如果要在建立的檔案中寫入中文,最好也和上面差不多:

with codecs.open(st,'

a+','

utf-8

') as book_note:

book_note.write(st)

然後以讀出的字元為檔名,建立檔案。

如果直接用上面讀出來的字串建立檔案,則會出現:

經過除錯,應該是最後乙個換行符的問題,在生成名字的時候,將字元trip一下,就能夠得到檔案:

st=digest_path+"

\\"+onenote[0].strip()+"

.txt

"

python中文編碼問題

在 python 中對中文進行處理的時候,往往涉及到編碼轉換的問題,通常使用以下三種編碼格式 utf 8 gbkunicode 國內用的比較多的是 gbk格式,unicode 是乙個很好的編碼方案,將世界各國的語言進行了統一的編碼,美國人後來覺得自己吃了大虧,於是又搞了一種變長編碼的 utf 8 的...

python中文編碼問題

為什麼會報錯 unicodeencodeerror ascii codec can t encode characters in position 0 1 ordinal not in range 128 本文就來研究一下這個問題。字串在python內部的表示是unicode 編碼,因此,在做編碼轉...

python中文編碼問題

一道非常簡單的python小題,可要搞死我了 題目 輸入某年某月某日,判斷這一天是這一年的第幾天?這題很簡單,但我想要的是這樣的效果 輸入 1月1 輸出 1 也就是說,需要 原本的 片段 a raw input b 月 c a.index b 就是輸入一行字串,找到 月 在哪,然後切割成兩部分 根據...