python怎么读取文件名中包含特殊字符的文件 比如xiân.txt
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python怎么读取文件名中包含特殊字符的文件 比如xiân.txt相关的知识,希望对你有一定的参考价值。
我有一个文件叫 xiân.txt 但是我用listdir之后得到的文件名却变为了 xian.txt ,无法使用获得的文件名打开这个文件,求大神指导,我怎么样才能用python打开或者重命名这个文件
我都没用过listdit。
但是,去找了下其使用说明:
os.listdir(path)Return a list containing the names of the entries in the directory given bypath. The list is in arbitrary order. It does not include the special
entries '.' and '..' even if they are present in the
directory.
Availability: Unix, Windows.
Changed in version 2.3: On Windows NT/2k/XP and Unix, if path is a Unicode object, the result will be
a list of Unicode objects. Undecodable filenames will still be returned as
string objects.
所以:
你可以试试,传入路径是unicode,比如:
foundDirList = os.listdir(u"在这里输入你的")然后,输出的list中的文件名列表,就都是unicode了,就可以正常显示出你要的,包括特殊字符的文件名了。然后你就可以正常的打开了。
当然,后续处理文件时,如果是中文等非ASCII的话,也是要了解涉及到字符编码的。这时候,最好用codecs模块。如何使用,参见:
【教程】用Python的codecs处理各种字符编码的字符串和文件这里不能贴地址,google搜标题即可找到帖子。那怎么查看文件名是什么编码? 然后怎么选择合适的编码呢?
追答windows文件系统一般是mbcs编码
以上是关于python怎么读取文件名中包含特殊字符的文件 比如xiân.txt的主要内容,如果未能解决你的问题,请参考以下文章
在 Java 中拆分其数据中包含逗号和特殊字符的 csv 文件
如何在 React 和 JSX 中导入名称中包含特殊字符的 JS 文件?