栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Python的os.path希伯来语文件名令人窒息

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python的os.path希伯来语文件名令人窒息

嗯,经过一番挖掘之后,似乎在为os.listdir提供一个unipre字符串时,这种方法有效:

files = os.listdir(u'test_source')for f in files:    pf = os.path.join(u'test_source', f)    print pf.enpre('ascii', 'replace'), os.path.exists(pf)

===>

test_sourceex Truetest_sourcejoe Truetest_sourcemie.txt Truetest_source__()'''.txt Truetest_source????.txt True

这里有一些重要的发现:

  • Windows XP(与所有NT衍生产品一样)将 所有 文件名存储在unipre中
  • os.listdir
    (以及类似的函数,如
    os.walk
    )应该传递一个unipre字符串,以便正确使用unipre路径。以下是上述链接的引文:

os.listdir()返回文件名,这引起了一个问题:它应该返回文件名的Unipre版本,还是应该返回包含编码版本的8位字符串?os.listdir()将同时执行这两种操作,具体取决于您将目录路径提供为8位字符串还是Unipre字符串。如果将Unipre字符串作为路径传递,则文件名将使用文件系统的编码进行解码,并返回Unipre字符串列表,而传递8位路径将返回文件名的8位版本。

  • 最后,需要
    print
    一个ascii字符串,而不是unipre,因此必须将路径编码为ascii。


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/626081.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号