国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - Python 忽略文件名編碼的方法

Python 忽略文件名編碼的方法

2020-08-01 23:35David Beazley Python

這篇文章主要介紹了Python 忽略文件名編碼的方法,文中講解非常細致,代碼幫助大家更好的理解和學習,感興趣的朋友可以了解下

問題

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

解決方案

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

?
1
2
3
>>> sys.getfilesystemencoding()
'utf-8'
>>>

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
>>> # 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!
>>>

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

討論

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

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

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

以上就是Python 忽略文件名編碼的方法的詳細內容,更多關于Python 忽略文件名編碼的資料請關注服務器之家其它相關文章!

原文鏈接:https://python3-cookbook.readthedocs.io/zh_CN/latest/c05/p14_bypassing_filename_encoding.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 日韩和的一区二在线 | 日韩精品一区二区三区在线观看 | 欧美一区二区视频免费观看 | 一区二区日韩欧美 | 国产精品久久久久久亚洲调教 | 国产视频1区| 日韩电影在线免费观看 | av电影免费在线观看 | 欧美黄色性视频 | 欧美中文字幕一区二区三区亚洲 | 午夜小电影 | 日韩中文字幕视频在线 | 亚洲精品大片 | 亚洲欧美日韩国产 | 欧美大片免费高清观看 | 一级黄色片网站 | 国产中文字幕在线观看 | 国产精品久久久久久久久久三级 | 精品日韩一区 | 免费一级网站 | 国产欧美日韩成人 | 91黄色免费视频 | 每日更新在线观看av | 久久久久久香蕉 | 成年人精品视频 | 国产在线成人 | www日韩| 在线手机电影 | 亚洲国产精品成人女人久久久 | 国内美女人妻一级毛片免费看 | 日本二区视频 | 91精品国产91久久久久久黑人 | 国产伦精品一区二区三区四区视频 | 欧美a网 | 羞羞视频免费观看网站 | 99福利视频| 久久综合久久久 | 中文字幕一区二区三区四区不卡 | 欧洲精品码一区二区三区免费看 | 亚洲 成人 av| 91高清视频 |