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

Python 忽略文件名編碼的方法

 更新時間:2020年08月01日 10:25:24   作者:David Beazley  
這篇文章主要介紹了Python 忽略文件名編碼的方法,文中講解非常細(xì)致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下

問題

你想使用原始文件名執(zhí)行文件的I/O操作,也就是說文件名并沒有經(jīng)過系統(tǒng)默認(rèn)編碼去解碼或編碼過。

解決方案

默認(rèn)情況下,所有的文件名都會根據(jù) sys.getfilesystemencoding() 返回的文本編碼來編碼或解碼。比如:

>>> sys.getfilesystemencoding()
'utf-8'
>>>

如果因?yàn)槟撤N原因你想忽略這種編碼,可以使用一個原始字節(jié)字符串來指定一個文件名即可。比如:

>>> # Wrte a file using a unicode filename
>>> with open('jalape\xf1o.txt', 'w') as f:
...  f.write('Spicy!')
...
6
>>> # Directory listing (decoded)
>>> import os
>>> os.listdir('.')
['jalapeño.txt']

>>> # Directory listing (raw)
>>> os.listdir(b'.') # Note: byte string
[b'jalapen\xcc\x83o.txt']

>>> # Open file with raw filename
>>> with open(b'jalapen\xcc\x83o.txt') as f:
...  print(f.read())
...
Spicy!
>>>

正如你所見,在最后兩個操作中,當(dāng)你給文件相關(guān)函數(shù)如 open() os.listdir() 傳遞字節(jié)字符串時,文件名的處理方式會稍有不同。

討論

通常來講,你不需要擔(dān)心文件名的編碼和解碼,普通的文件名操作應(yīng)該就沒問題了。 但是,有些操作系統(tǒng)允許用戶通過偶然或惡意方式去創(chuàng)建名字不符合默認(rèn)編碼的文件。 這些文件名可能會神秘地中斷那些需要處理大量文件的Python程序。

讀取目錄并通過原始未解碼方式處理文件名可以有效的避免這樣的問題, 盡管這樣會帶來一定的編程難度。

關(guān)于打印不可解碼的文件名,請參考

以上就是Python 忽略文件名編碼的方法的詳細(xì)內(nèi)容,更多關(guān)于Python 忽略文件名編碼的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • python實(shí)現(xiàn)帶錯誤處理功能的遠(yuǎn)程文件讀取方法

    python實(shí)現(xiàn)帶錯誤處理功能的遠(yuǎn)程文件讀取方法

    這篇文章主要介紹了python實(shí)現(xiàn)帶錯誤處理功能的遠(yuǎn)程文件讀取方法,涉及Python使用socket操作遠(yuǎn)程文件的相關(guān)技巧,非常具有實(shí)用價值,需要的朋友可以參考下
    2015-04-04
  • Python默認(rèn)參數(shù)的使用機(jī)制

    Python默認(rèn)參數(shù)的使用機(jī)制

    Python中函數(shù)的默認(rèn)參數(shù)是一種簡化函數(shù)調(diào)用并增強(qiáng)靈活性的機(jī)制,默認(rèn)參數(shù)允許我們在函數(shù)定義時為某些參數(shù)指定默認(rèn)值,這樣在調(diào)用函數(shù)時,如果不為這些參數(shù)傳值,它們將使用默認(rèn)值,從而使得函數(shù)調(diào)用變得更加簡潔和靈活,感興趣的可以的了解一下
    2024-11-11
  • 用于業(yè)余項(xiàng)目的8個優(yōu)秀Python庫

    用于業(yè)余項(xiàng)目的8個優(yōu)秀Python庫

    今天小編就為大家分享一篇用于業(yè)余項(xiàng)目的8個大型Python庫,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-09-09
  • Python執(zhí)行JS的四種方法

    Python執(zhí)行JS的四種方法

    本文將詳細(xì)介紹Python中執(zhí)行和調(diào)用JavaScript的多種方法,包括內(nèi)置的execjs庫、外部庫如PyExecJS、使用瀏覽器引擎和與Node.js的交互,感興趣的可以了解一下
    2023-11-11
  • Python設(shè)計(jì)模式之觀察者模式原理與用法詳解

    Python設(shè)計(jì)模式之觀察者模式原理與用法詳解

    這篇文章主要介紹了Python設(shè)計(jì)模式之觀察者模式,簡單講述了觀察者模式的概念、原理并結(jié)合實(shí)例形式分析了Python實(shí)現(xiàn)與使用方法,需要的朋友可以參考下
    2019-01-01
  • 如何使用Python 抓取和優(yōu)化所有網(wǎng)站圖像

    如何使用Python 抓取和優(yōu)化所有網(wǎng)站圖像

    我發(fā)布了一個通過FTP自動優(yōu)化新圖像的教程。這次我們將抓取整個網(wǎng)站,并在本地優(yōu)化我們遇到的圖像,按URL組織,怎么來操作呢,下面跟隨小編一起學(xué)習(xí)使用Python 抓取和優(yōu)化所有網(wǎng)站圖像的方法,感興趣的朋友一起看看吧
    2023-02-02
  • PyInstaller將Python腳本打包為.exe可執(zhí)行文件的步驟詳解

    PyInstaller將Python腳本打包為.exe可執(zhí)行文件的步驟詳解

    Python是一門強(qiáng)大而靈活的編程語言,為了方便共享和部署,我們可以將 Python 腳本打包為可執(zhí)行文件(.exe),這樣其他用戶就無需安裝 Python環(huán)境,直接運(yùn)行可執(zhí)行文件即可,本文將介紹如何使用PyInstaller 工具實(shí)現(xiàn)這一目標(biāo),需要的朋友可以參考下
    2023-12-12
  • Python讀取ini文件、操作mysql、發(fā)送郵件實(shí)例

    Python讀取ini文件、操作mysql、發(fā)送郵件實(shí)例

    這篇文章主要介紹了Python讀取ini文件、操作mysql、發(fā)送郵件實(shí)例,本文重點(diǎn)在Mysql操作的講解上,包含查詢、插入、更新和刪除操作,需要的朋友可以參考下
    2015-01-01
  • pyqt5實(shí)現(xiàn)井字棋的示例代碼

    pyqt5實(shí)現(xiàn)井字棋的示例代碼

    這篇文章主要給大家介紹了關(guān)于pyqt5實(shí)現(xiàn)井字棋的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • Pytorch相關(guān)知識介紹與應(yīng)用

    Pytorch相關(guān)知識介紹與應(yīng)用

    最近又重拾了機(jī)器學(xué)習(xí)的相關(guān)技術(shù),在本科畢設(shè)的階段下學(xué)習(xí)使用了Tensorflow 2.x工具,當(dāng)時也是不求甚解,直接拿來用了,但現(xiàn)在已經(jīng)有充足的時間、精力和基礎(chǔ)知識來重新學(xué)習(xí)一下
    2022-11-11

最新評論

汉中市| 洛宁县| 德格县| 阿拉善左旗| 仪陇县| 博爱县| 大理市| 洪江市| 璧山县| 泗水县| 崇文区| 天柱县| 郎溪县| 玉山县| 宁津县| 福清市| 化隆| 边坝县| 醴陵市| 沁水县| 淳化县| 齐河县| 手游| 贵港市| 汶上县| 称多县| 元谋县| 阳城县| 齐河县| 安岳县| 抚顺市| 日照市| 贵阳市| 秦皇岛市| 泸定县| 甘孜| 达孜县| 鲜城| 阿拉善右旗| 威远县| 乌拉特前旗|