[Python]编码和execfile

发布于 2024-11-04 11:32:50 字数 422 浏览 7 评论 0原文

我正在尝试使用 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?

非常感谢

I am trying to do something like that using python 2.4:

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

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

And I receive this error:

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'

So my question is how can I do an execfile if the file I want to exec have a name with Korean chars?

Thank you very much

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

彩虹直至黑白 2024-11-11 11:32:50

我认为你应该能够在 Windows 上使用 unicode 参数执行 execfile(afile) ,但我无法测试它。

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

import sys
fsenc = sys.getfilesystemencoding()
execfile(afile.encode(fsenc))

I think you should just be able to do execfile(afile) with a unicode argument on Windows, but I can't test it.

If not, get the file system encoding:

import sys
fsenc = sys.getfilesystemencoding()
execfile(afile.encode(fsenc))
落日海湾 2024-11-11 11:32:50

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

execfile() 可以使用 exec

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

exec open(ur'C:\國立國語院.py').read()

@Thomas K's answer should work (it works on Linux and doesn't work in Wine on Python2.4).

execfile() could be emulated using exec:

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

exec open(ur'C:\國立國語院.py').read()
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文