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

Python處理文件的方法(mimetypes和chardet)

 更新時(shí)間:2021年04月14日 10:13:59   作者:八戒無(wú)戒i  
這篇文章主要介紹了Python處理文件的方法(mimetypes和chardet),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

處理文件時(shí)minetype和chardet是很好用的兩個(gè)模塊函數(shù):

###chardet:
主要處理文件文件編碼問(wèn)題

示例.png

假如有這個(gè)一個(gè)配置文件,非ascii或者utf8編碼:

__coding__ = 'UTF-8'
__author__ = 'bingo'

import chardet
import configparser
parse = configparser.ConfigParser()
parse.read("config.ini")
print(parse.sections())

運(yùn)行結(jié)果:

G:\Anaconda\python.exe "C:/Users/bingo/Desktop/The crawler/學(xué)習(xí)/demo.py"
Traceback (most recent call last):
 File "C:/Users/bingo/Desktop/The crawler/學(xué)習(xí)/demo.py", line 29, in <module>
   parse.read("config.ini")
 File "G:\Anaconda\lib\configparser.py", line 696, in read
   self._read(fp, filename)
 File "G:\Anaconda\lib\configparser.py", line 1014, in _read
   for lineno, line in enumerate(fp, start=1):
UnicodeDecodeError: 'gbk' codec can't decode byte 0xff in position 0: illegal >multibyte sequence

但是改成下面, 用chardet先獲取文件編碼格式,就可以完美解決上面報(bào)錯(cuò)問(wèn)題:

import chardet
import configparser

data = open("config.ini", "rb").read()
a = chardet.detect(data)
print(a)

parse = configparser.ConfigParser()
parse.read("config.ini", encoding=a["encoding"])
print(parse.sections())

>>>>>>>>>>>>>>>再運(yùn)行:
G:\Anaconda\python.exe "C:/Users/bingo/Desktop/The crawler/學(xué)習(xí)/demo.py"
{'encoding': 'UTF-16', 'confidence': 1.0, 'language': ''}
['config']

Process finished with exit code 0

###mimetypes:
主要處理文件文件類型問(wèn)題
該模塊提供在文件名或URL與與文件擴(kuò)展名關(guān)聯(lián)的MIME類型之間進(jìn)行轉(zhuǎn)換的功能,主要有以下兩個(gè)函數(shù):
mimetypes.guess_type(url, strict=True)
返回一個(gè)元組(type, encoding), strict默認(rèn)參數(shù),指定已知MIME類型的列表是否僅限于在IANA注冊(cè)的官方類型,type為MIME類型,encoding可能為None
mimetypes.guess_all_extensions(type, strict=True)
返回一個(gè)列表,根據(jù)傳入的type(MIME類型),返回提供所有可能的文件擴(kuò)展名的字符串列表,包括前導(dǎo)點(diǎn)('.'),strict默認(rèn)參數(shù),指定已知MIME類型的列表是否僅限于在IANA注冊(cè)的官方類型

import mimetypes

# 獲取文件MIME類型
type, encoding = mimetypes.guess_type("demo.py")
print(type)
# 根據(jù)MIME類型獲取所有可能的文件后綴名
c = mimetypes.guess_all_extensions(type)
print(c)

>>>運(yùn)行結(jié)果如下:
G:\Anaconda\python.exe "C:/Users/bingo/Desktop/The crawler/學(xué)習(xí)/demo.py"
text/plain
['.bat', '.c', '.h', '.ksh', '.pl', '.txt', '.asm', '.cc', '.cod', '.cpp', '.cs', '.csh', '.cshader', >'.csproj', '.cxx', '.def', '.dsh', '.dshader', '.dsp', '.dsw', '.efu', '.filters', '.fx', '.gitattributes', >'.gitignore', '.gitmodules', '.gsh', '.gshader', '.hh', '.hlsl', '.hlsli', '.hpp', '.hsh', '.hshader', >'.hxx', '.i', '.idl', '.inc', '.inl', '.ipp', '.js', '.jsproj', '.jsx', '.jsxbin', '.jsxinc', '.lst', '.mak', >'.map', '.mdp', '.mk', '.odh', '.odl', '.pkgdef', '.pkgundef', '.psh', '.pshader', '.py', '.pyw', >'.rc', '.rc2', '.rct', '.res', '.rgs', '.s', '.sln', '.sol', '.sor', '.srf', '.tlh', '.tli', '.ts', '.tsx', '.tt', >'.user', '.vb', '.vbproj', '.vcp', '.vcw', '.vsh', '.vshader']
.bat

Process finished with exit code 0

到此這篇關(guān)于Python—處理文件(mimetypes和chardet)的文章就介紹到這了,更多相關(guān)Python—處理文件內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Django多數(shù)據(jù)庫(kù)聯(lián)用實(shí)現(xiàn)方法解析

    Django多數(shù)據(jù)庫(kù)聯(lián)用實(shí)現(xiàn)方法解析

    這篇文章主要介紹了Django多數(shù)據(jù)庫(kù)聯(lián)用實(shí)現(xiàn)方法解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-11-11
  • Python?pandera數(shù)據(jù)驗(yàn)證和清洗的庫(kù)

    Python?pandera數(shù)據(jù)驗(yàn)證和清洗的庫(kù)

    為了確保數(shù)據(jù)的質(zhì)量,Python Pandera 庫(kù)應(yīng)運(yùn)而生。本文將深入介紹 Python Pandera,這是一個(gè)用于數(shù)據(jù)驗(yàn)證和清洗的庫(kù),并提供豐富的示例代碼,幫助大家充分利用它來(lái)提高數(shù)據(jù)質(zhì)量
    2024-01-01
  • python實(shí)現(xiàn)電子詞典

    python實(shí)現(xiàn)電子詞典

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)電子詞典,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2014-01-01
  • 使用Python開(kāi)發(fā)在線編輯器

    使用Python開(kāi)發(fā)在線編輯器

    這篇文章主要為大家詳細(xì)介紹了如何使用Python開(kāi)發(fā)一個(gè)在線編輯器,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,有需要的小伙伴可以了解一下
    2025-02-02
  • 2025最新版Python3.13.1安裝使用指南(超詳細(xì))

    2025最新版Python3.13.1安裝使用指南(超詳細(xì))

    Python編程語(yǔ)言自誕生以來(lái),已經(jīng)成為全球最受歡迎的編程語(yǔ)言之一,它簡(jiǎn)單易學(xué)易用,以標(biāo)準(zhǔn)庫(kù)和功能強(qiáng)大且廣泛外 掛的擴(kuò)展庫(kù),為用戶提供包羅萬(wàn)象、強(qiáng)大全面的功能,此次給大家介紹了2025年最新版Python 3.13.1安裝使用指南全面更新,需要的朋友可以參考下
    2025-03-03
  • 將python文件打包成EXE應(yīng)用程序的方法

    將python文件打包成EXE應(yīng)用程序的方法

    相信大家都想把自己完成的項(xiàng)目打包成EXE應(yīng)用文件,然后就可以放在桌面隨時(shí)都能運(yùn)行了,下面來(lái)分享利用pytinstaller這個(gè)第三方庫(kù)來(lái)打包程序,感興趣的朋友跟隨小編一起看看吧
    2019-05-05
  • Python中逗號(hào)轉(zhuǎn)為空格的三種方法

    Python中逗號(hào)轉(zhuǎn)為空格的三種方法

    本文介紹了Python中將逗號(hào)轉(zhuǎn)換為空格的三種方法,包含使用replace函數(shù)、使用split函數(shù)、使用正則表達(dá)式,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-02-02
  • Python利用matplotlib實(shí)現(xiàn)餅圖繪制

    Python利用matplotlib實(shí)現(xiàn)餅圖繪制

    Pyplot作為Matplotlib的子庫(kù),提供了和MATLAB差不多的繪圖API。因此Pyplot作為常用的繪圖模塊,能很方便讓用戶繪制2D圖表。本文將為大家介紹如何利用Matplotlib繪制餅圖,感興趣的小伙伴可以了解一下
    2021-12-12
  • Python中的time模塊與datetime模塊用法總結(jié)

    Python中的time模塊與datetime模塊用法總結(jié)

    Python中內(nèi)置的各項(xiàng)時(shí)間日期函數(shù)幾乎都來(lái)自于time和datetime這兩個(gè)模塊,下面整理了Python中的time模塊與datetime模塊用法總結(jié),需要的朋友可以參考下
    2016-06-06
  • Python處理文本文件中控制字符的方法

    Python處理文本文件中控制字符的方法

    最近在使用Python的時(shí)候遇到過(guò)文檔中出現(xiàn)控制字符報(bào)錯(cuò)的問(wèn)題。想著總結(jié)一下,方便以后需要或這同樣遇到問(wèn)題的朋友,下面這篇文章主要介紹了Python處理文本文件中控制字符的解決方法,需要的朋友可以參考借鑒。
    2017-02-02

最新評(píng)論

胶南市| 宁强县| 长阳| 井研县| 富民县| 增城市| 清远市| 哈尔滨市| 留坝县| 玛沁县| 方山县| 姚安县| 双牌县| 娄底市| 伊金霍洛旗| 南郑县| 榆树市| 灵石县| 定日县| 铁岭市| 长葛市| 商洛市| 丽水市| 常山县| 平阳县| 界首市| 扬中市| 康定县| 淅川县| 鄂伦春自治旗| 沁阳市| 于都县| 仲巴县| 永春县| 赤城县| 新邵县| 衡阳市| 淮滨县| 江永县| 莲花县| 博罗县|