Python更改目录,包含非ASCII字符

时间:2013-03-24 21:29:59

标签: python

我正在使用python命令

os.chdir(base_dir)

更改目录。但字符串base_dir包含ASCII范围之外的utf-8字符。 Windows资源管理器(Windows 7)上的目录列表显示了与非ASCII字符对应的路径base_dir的目录名称。

但是,当我执行上述命令时,我收到错误

WindowsError: [Error 2] The system cannot find the file specified: 'C:/Users/abhishek/Desktop/scripting/dir_struct/\xd0\x98\xd0\xbd\xd1\x84\xd0\xbe\xd1\x80\xd0\xbc\xd0\xb0\xd1\x82\xd0\xb8\xd0\xba\xd0\xb0'

有人可以告诉我如何在python中成功导航目录吗?

我的电脑的默认语言是英语。

1 个答案:

答案 0 :(得分:4)

改为使用unicode路径:

os.chdir(base_dir.decode('utf8'))

Windows路径采用UTF-16编码,但Python知道如何正确处理unicode路径并将其转换为适合您平台的正确文件系统编码。