问题描述:
os.path.listdir在返回中文路径时,返回的是0xd4等非gbk或utf-8格式的编码,不知道具体编码格式是什么,
{'E:\\Projects\\PythonProjects\\DirectorySearchTest': 3918L, 'E:\\Projects\\PythonProjects\\DirectorySearchTest\\a1': 1518L, 'E:\\Projects\\PythonProjects\\DirectorySearchTest\\a2': 0, 'E:\\Projects\\PythonProjects\\DirectorySearchTest\\a3': 0L, 'E:\\Projects\\PythonProjects\\DirectorySearchTest\\a3\\b1': 0L, 'E:\\Projects\\PythonProjects\\DirectorySearchTest\\\xd4\xc6\xbe\xed\xbb\xa8\xbf\xaa': 0}
参考:
Opening files in a directory with python, trouble with encoding - Stack Overflow
说明:
listdir获取路径的时候,根据传入路径的编码来输出对应文件的路径,如果有中文字符,可以在在路径前加u,示例如下
os.listdir(u'E:\Projects\PythonProjects\DirectorySearchTest')
这样返回的路径就是unicode格式了
{u'E:\\Projects\\PythonProjects\\DirectorySearchTest': 3918L, u'E:\\Projects\\PythonProjects\\DirectorySearchTest\\\u4e91\u5377\u82b1\u5f00': 0, u'E:\\Projects\\PythonProjects\\DirectorySearchTest\\a1': 1518L, u'E:\\Projects\\PythonProjects\\DirectorySearchTest\\a2': 0, u'E:\\Projects\\PythonProjects\\DirectorySearchTest\\a3': 0L, u'E:\\Projects\\PythonProjects\\DirectorySearchTest\\a3\\b1': 0L}