获取Python文件或环境的当前文件编码

2 投票
2 回答
1407 浏览
提问于 2025-04-16 05:59

我怎么能在一个正在运行的Python程序里,判断源文件的编码方式呢?这有可能吗?

2 个回答

-1

如果你查看一下 __file__,它会告诉你正在运行的代码的文件名。如果这个文件名以“.pyc”或“.pyo”结尾,你需要把最后一个字符去掉。这样你就得到了正在运行代码的源文件。接下来,打开这个文件,找找编码头部的信息。

需要注意的是,这只是一个简单的说法,实际上找到真正的源文件可能会更复杂,但在很多情况下这样做是有效的。

顺便问一下:你为什么需要知道源文件的编码呢?我本来以为这不重要。

2

encoding = open(__file__).encoding

在某些情况下,这行代码可能会有效,但请注意这个链接:http://docs.python.org/library/stdtypes.html#file.encoding,里面有关于文件编码的详细信息。

撰写回答