久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

您的位置:首頁技術文章
文章詳情頁

Python 忽略文件名編碼的方法

瀏覽:2日期:2022-07-15 14:43:25

問題

你想使用原始文件名執行文件的I/O操作,也就是說文件名并沒有經過系統默認編碼去解碼或編碼過。

解決方案

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

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

如果因為某種原因你想忽略這種編碼,可以使用一個原始字節字符串來指定一個文件名即可。比如:

>>> # Wrte a file using a unicode filename>>> with open(’jalapexf1o.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’jalapenxccx83o.txt’]>>> # Open file with raw filename>>> with open(b’jalapenxccx83o.txt’) as f:... print(f.read())...Spicy!>>>

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

討論

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

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

關于打印不可解碼的文件名,請參考

以上就是Python 忽略文件名編碼的方法的詳細內容,更多關于Python 忽略文件名編碼的資料請關注好吧啦網其它相關文章!

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 日韩欧在线 | 免费日韩av | 中文字幕久久综合 | 欧美成人h版在线观看 | 伊人天堂在线 | www亚洲成人 | 一区二区在线视频免费观看 | 欧美精品第一页 | 国产精品二区一区 | 精品自拍视频 | 自拍偷拍第一页 | 午夜天堂精品久久久久 | 在线国产一区 | 亚洲自拍偷拍精品 | 高清国产午夜精品久久久久久 | 国产精品一码二码三码在线 | 欧美夜夜爽 | 欧美a√ | 91精品国产综合久久久久 | 欧美2区 | 欧美精品一区二区三区在线 | 国产日韩精品在线观看 | 粉嫩视频在线观看 | av中文字幕在线播放 | 中文久久| 91精品国产欧美一区二区成人 | 亚洲综合在线网 | 亚洲第一男人天堂 | 国产精品久久久久久久久久东京 | 一区久久 | 香蕉久久久久久 | а天堂中文最新一区二区三区 | 日韩一区二区三区视频 | 夜夜爽99久久国产综合精品女不卡 | 国产一级中文字幕 | 三级网址日本 | 丝袜美腿一区二区三区 | 国产欧美专区 | 亚洲国产欧美一区二区三区久久 | 久草精品视频 | 日韩不卡一区二区 |