最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

如何使用python批量修改文本文件編碼格式

 更新時(shí)間:2023年03月24日 15:56:05   作者:oceanstonetree  
把文本文件的編碼格式進(jìn)行批量幻化,比如ascii, gb2312, utf8等,相互轉(zhuǎn)化,字符集的大小來看,utf8>gb2312>ascii,因此最好把gb2312轉(zhuǎn)為utf8,否則容易出現(xiàn)亂碼,這篇文章主要介紹了如何使用python批量修改文本文件編碼格式,需要的朋友可以參考下

使用python批量修改文本文件編碼格式

把文本文件的編碼格式進(jìn)行批量幻化,比如ascii, gb2312, utf8等,相互轉(zhuǎn)化,字符集的大小來看,utf8>gb2312>ascii,因此最好把gb2312轉(zhuǎn)為utf8,否則容易出現(xiàn)亂碼。

gb2312和utf-8的主要區(qū)別:

關(guān)于字庫規(guī)模: UTF-8 > gb2312(utf8字全而gb2312只有漢字)

關(guān)于保存大小: UTF-8> gb2312 (utf8更臃腫、加載更慢,gb2312更小巧,加載更快)

關(guān)于適用范圍:gb2312主要在中國大陸地區(qū)使用,是一個(gè)本地化的字符集,UTF-8包含全世界所有國家需要用到的字符,是國際編碼,通用性強(qiáng)。UTF-8編碼的文字可以在各國支持UTF8字符集的瀏覽器上顯示。

import sys
import chardet
import codecs
 
def get_encoding_type(fileName):
    '''print the encoding format of a txt file '''
    with open(fileName, 'rb') as f:
        data = f.read()
        encoding_type = chardet.detect(data)
        #print(encoding_type)
        return encoding_type
        # such as {'encoding': 'GB2312', 'confidence': 0.99, 'language': 'Chinese'}
 
def convert_encoding_type(filename_in, filename_out, encode_in="gb2312", encode_out="utf-8"):
    '''convert encoding format of txt file '''
    #filename_in = 'flash.c'
    #filename_out = 'flash_gb2312.c'
    #encode_in = 'utf-8'  # 輸入文件的編碼類型
    #encode_out = 'gb2312'# 輸出文件的編碼類型
    with codecs.open(filename=filename_in, mode='r', encoding=encode_in) as fi:
        data = fi.read()
        with open(filename_out, mode='w', encoding=encode_out) as fo:
            fo.write(data)
            fo.close()
        # with open(filename_out, 'rb') as f:
        #     data = f.read()
        #     print(chardet.detect(data))
 
if __name__=="__main__":
    # fileName = argv[1]
    # get_encoding_type(fileName)
    # convert_encoding_type(fileName, fileName)
    filename_of_files = sys.argv[1]   #the file contain full file path at each line
    with open(filename_of_files, 'rb') as f:
        lines = f.readlines()
        for line in lines:
            fileName = line[:-1]
            encoding_type = get_encoding_type(fileName)
            if encoding_type['encoding']=='GB2312':
                print(encoding_type)
                convert_encoding_type(fileName, fileName)
                print(fileName)

補(bǔ)充:python實(shí)現(xiàn)文件批量轉(zhuǎn)為utf-8格式

python實(shí)現(xiàn)文件批量轉(zhuǎn)為utf-8格式

xml_path = './'
with open(xml_path , 'rb+') as f:
?? ?content = f.read()
?? ?codeType = detect(content)['encoding']
?? ?content = content.decode(codeType, "ignore").encode("utf8")
?? ?fp.seek(0)
?? ?fp.write(content)

到此這篇關(guān)于如何使用python批量修改文本文件編碼格式的文章就介紹到這了,更多相關(guān)python批量修改文本文件編碼格式內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python基于paramunittest模塊實(shí)現(xiàn)excl參數(shù)化

    Python基于paramunittest模塊實(shí)現(xiàn)excl參數(shù)化

    這篇文章主要介紹了Python基于paramunittest模塊實(shí)現(xiàn)excl參數(shù)化,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-04-04
  • Python os模塊中的isfile()和isdir()函數(shù)均返回false問題解決方法

    Python os模塊中的isfile()和isdir()函數(shù)均返回false問題解決方法

    這篇文章主要介紹了Python os模塊中的isfile()和isdir()函數(shù)均返回false問題解決方法,返回false的原因是路徑使用了相對路徑,使用絕對路徑就可以解決這個(gè)問題,需要的朋友可以參考下
    2015-02-02
  • 使用Django清空數(shù)據(jù)庫并重新生成

    使用Django清空數(shù)據(jù)庫并重新生成

    這篇文章主要介紹了使用Django清空數(shù)據(jù)庫并重新生成,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04
  • Python繪制趨勢線的示例代碼

    Python繪制趨勢線的示例代碼

    趨勢線是用來顯示數(shù)據(jù)趨勢或者預(yù)測未來發(fā)展方向的一種圖形表示方法,這篇文章主要為大家詳細(xì)介紹了如何使用Python繪制趨勢線,需要的可以了解下
    2024-03-03
  • Python入門教程(四十)Python的NumPy數(shù)組創(chuàng)建

    Python入門教程(四十)Python的NumPy數(shù)組創(chuàng)建

    這篇文章主要介紹了Python入門教程(四十)Python的NumPy數(shù)組創(chuàng)建,NumPy 用于處理數(shù)組,NumPy 中的數(shù)組對象稱為 ndarray,我們可以使用 array() 函數(shù)創(chuàng)建一個(gè) NumPy ndarray 對象,需要的朋友可以參考下
    2023-05-05
  • python 公共方法匯總解析

    python 公共方法匯總解析

    這篇文章主要介紹了python 公共方法匯總解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-09-09
  • 對Python中的@classmethod用法詳解

    對Python中的@classmethod用法詳解

    下面小編就為大家分享一篇對Python中的@classmethod用法詳解,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-04-04
  • python中的三種注釋方法

    python中的三種注釋方法

    這篇文章主要介紹了python中的三種注釋方法,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • Python游戲推箱子的實(shí)現(xiàn)

    Python游戲推箱子的實(shí)現(xiàn)

    這篇文章主要介紹了Python游戲推箱子的實(shí)現(xiàn),推箱子游戲是一款可玩性極高的策略解謎手游,游戲中玩家將扮演一名可愛Q萌的角色,下面我們就看看看具體的實(shí)現(xiàn)過程吧,需要的小伙伴可以參考一下
    2021-12-12
  • Python判斷List中是否包含某個(gè)元素

    Python判斷List中是否包含某個(gè)元素

    在Python中,判斷一個(gè)列表(List)是否包含某個(gè)特定元素是常見的任務(wù)之一,本文就來介紹一下多種判斷List成員包含性的方法,并提供豐富的示例代碼,以幫助大家更好地理解和運(yùn)用這些技術(shù)
    2023-12-12

最新評論

常德市| 扶沟县| 垦利县| 桦川县| 宾川县| 成安县| 河间市| 虞城县| 彭泽县| 麻城市| 城口县| 郯城县| 广安市| 大埔县| 罗甸县| 庆安县| 鄂伦春自治旗| 乐平市| 缙云县| 梧州市| 九江市| 喀喇沁旗| 襄汾县| 丘北县| 唐河县| 东海县| 南宫市| 衡东县| 河曲县| 大邑县| 乐安县| 卢龙县| 冕宁县| 北宁市| 蓝山县| 清原| 昭平县| 额尔古纳市| 临汾市| 宁国市| 郧西县|