亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么用python讀取utf-8編碼格式的文本文件

發布時間:2021-11-20 15:12:10 來源:億速云 閱讀:1636 作者:iii 欄目:編程語言

本篇內容介紹了“怎么用python讀取utf-8編碼格式的文本文件”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

# 讀取utf-8編碼格式的文本文件 
# 這里Python解釋器讀取的是utf-8編碼的字節流,然后再按指定的編碼方式解釋這些字節流
# 這樣就比較好理解亂碼的原因


#coding=utf-8   
# When Python reads the encoding it tries to interpret the file as utf-8 
# 告訴Python解釋器編譯時采用哪種編碼方式
# 如未設置編碼方式,且解釋器可識別文件(如utf-8編碼格式的文件有的(與編輯器有關)帶有BOM,可供解釋器識別)編碼方式則采用文件編碼方式,反之采用終端默認編碼方式


import sys
# reload(sys)
# 指定終端默認編碼方式
# sys.setdefaultencoding('utf8')
# 獲取終端默認編碼方式
# sys.getdefaultencoding()


import codecs
def ConvertCN(s):
    if s[:3] == codecs.BOM_UTF8:
        s = s[3:]
        
    # 若系統默認編碼方式為acsii且未修改默認編碼方式 
    # s.encode('gbk'):s(文件編碼格式)--(.decode('ascii'))-->unicode--(.encode('gbk'))-->s(gbk編碼格式) (這個過程由終端完成,未指定編碼方式時將采用終端默認編碼方式)
    # 兼容關系:ASCII --> ISO-8859-1 --> UNICODE(UTF-8,UTF-16,UTF-32) --> UCS(UCS2[與UNICODE兼容],UCS4), ASCII --> GB2312 --> GBK --> GB18030
    # 因utf-8向下兼容ascii ascii不向上兼容utf-8,對此處s(utf-8編碼格式)進行ascii解碼成unicode時可能發生錯誤
    return s.decode('utf-8')


def PrintFile(filename):
    f = file(filename,'r')
    for f_line in f.readlines():
        print ConvertCN(f_line)
    f.close()
    
if __name__ == "__main__":
    
    PrintFile('OperCodingFile.txt')
    
    # Python輸出的是字節流 打印由終端處理
    # print 在終端顯示如何是由終端決定的
    """
    它大致講解下python中的print原理: 
    When Python executes a print statement, 
    it simply passes the output to the operating system (using fwrite() or something like it), 
    and some other program is responsible for actually displaying that output on the screen. 
    For example, on Windows, it might be the Windows console subsystem that displays the result. 
    Or if you're using Windows and running Python on a Unix box somewhere else, 
    your Windows SSH client is actually responsible for displaying the data. 
    If you are running Python in an xterm on Unix, then xterm and your X server handle the display. 
    To print data reliably, you must know the encoding that this display program expects. 
    簡單地說,python中的print直接把字符串傳遞給操作系統,所以你需要把str解碼成與操作系統一致的格式。
    Windows使用CP936(幾乎與gbk相同),所以這里可以使用gbk。
    """
    
    print ConvertCN("\n****** 按任意鍵退出!*******")  
    
    sys.stdin.readline()

“怎么用python讀取utf-8編碼格式的文本文件”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

金湖县| 唐山市| 汽车| 黑河市| 泰州市| 龙门县| 界首市| 长海县| 鄂尔多斯市| 冀州市| 兰州市| 云梦县| 长春市| 眉山市| 腾冲县| 方正县| 龙游县| 武冈市| 垫江县| 修水县| 周至县| 九江市| 莱阳市| 临清市| 桃园县| 德钦县| 通江县| 西丰县| 宜宾县| 浙江省| 印江| 克什克腾旗| 黄龙县| 苍梧县| 子长县| 延边| 五河县| 珠海市| 金沙县| 贵德县| 进贤县|