“怎么做?”;编码:pyxl";用Python工作?

“怎么做?”;编码:pyxl";用Python工作?,python,Python,或者使用一个非常有趣的技巧来增强python语法:coding:from 如果我想,我如何编写自己的编码:?我可以使用多个吗?我是Syrus,interpy的创建者 多亏了codecs#coding:Python中的_codec_name,我们有机会在文件转换为字节码之前对其进行预处理 这就是它的工作原理: 读取文件内容 首先,Python读取文件并存储其内容。由于内容可能以奇怪的格式编码,Python尝试对其进行解码。这里是魔法发生的地方 如果未找到编码,Python将尝试使用默认字符串编码对

或者使用一个非常有趣的技巧来增强python语法:
coding:
from


如果我想,我如何编写自己的
编码:
?我可以使用多个吗?

我是Syrus,interpy的创建者

多亏了codecs
#coding:Python中的_codec_name
,我们有机会在文件转换为字节码之前对其进行预处理

这就是它的工作原理:

读取文件内容 首先,Python读取文件并存储其内容。由于内容可能以奇怪的格式编码,Python尝试对其进行解码。这里是魔法发生的地方

如果未找到编码,Python将尝试使用默认字符串编码对内容进行解码:Ascii或UTF-8编解码器,具体取决于Python版本。这就是为什么在Python 2中使用不寻常的字符(á,ñ,Ð,…)时必须编写
#编码:utf-8
,因为Ascii是默认值

解码文件内容 如果我们(包括编码器和解码器),并且一个文件告诉Python它正在使用我们的编解码器(通过
\coding:codec\u name
),那么Python将使用我们的编解码器对该文件进行解码

注册我们的编解码器 为了在不需要导入的情况下注册编解码器,我们创建了一个(.pth),在执行任何非主模块之前,先注册编解码器

转换文件内容 一旦我们的解码器,我们可以修改我们想要的输出,但是。。。我们如何知道该内容中的Python语法(标记)

只需使用文件内容调用,并修改所需的标记

对于
interpy
,它仅在文件内容中更改行为

发送回转换(解码)的内容 转换内容后,我们将其发送回Python编译器,以编译成字节码

希望你觉得这个有用

# coding: pyxl
print <html><body>Hello World!</body></html>
# coding: interpy
package = "Interpy"
print "Enjoy #{package}!"