4

我正在尝试使用 python 2.4 做类似的事情:

#!/usr/bin/python
# -*- coding: utf-8 -*-

afile = unicode('C:\\國立國語院.py', 'UTF-8')
execfile(afile.encode("UTF-8",'replace'))

我收到这个错误:

IOError: [Errno 2] No such file or directory: 'C:\\\xef\xbb\xbf\xe5\x9c\x8b\xe7\xab\x8b\xe5\x9c\x8b\xe8\xaa\x9e\xe9\x99\xa2.py'

所以我的问题是,如果我要执行的文件的名称带有韩语字符,我该如何执行 execfile?

非常感谢

4

2 回答 2

2

@Thomas K 的答案应该有效(它适用于 Linux,但不适用于 Python2.4 上的 Wine)。

execfile()可以使用模拟exec

#!/usr/bin/python
# -*- coding: utf-8 -*-

exec open(ur'C:\國立國語院.py').read()
于 2011-05-02T13:02:10.793 回答
2

我认为您应该只能execfile(afile)在 Windows 上使用 unicode 参数,但我无法对其进行测试。

如果没有,请获取文件系统编码:

import sys
fsenc = sys.getfilesystemencoding()
execfile(afile.encode(fsenc))
于 2011-05-02T10:12:19.687 回答