忽略文件名编码-华为云大数据中台架构分享

时间:2024-07-01 05:00:30
【文件属性】:

文件名称:忽略文件名编码-华为云大数据中台架构分享

文件大小:5.68MB

文件格式:PDF

更新时间:2024-07-01 05:00:30

Python cookbook 中文 参考

5.14 忽略文件名编码 问题 你想使用原始文件名执行文件的 I/O 操作,也就是说文件名并没有经过系统默 认编码去解码或编码过。 解决方案 默认情况下,所有的文件名都会根据 sys.getfilesystemencoding() 返回的文本编 码来编码或解码。比如: >>> sys.getfilesystemencoding() 'utf-8' >>> 如果因为某种原因你想忽略这种编码,可以使用一个原始字节字符串来指定一 个文件名即可。比如: >>> # 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! >>>


网友评论