“怎么做?”;编码:pyxl";用Python工作?
或者使用一个非常有趣的技巧来增强python语法:“怎么做?”;编码:pyxl";用Python工作?,python,Python,或者使用一个非常有趣的技巧来增强python语法:coding:from 如果我想,我如何编写自己的编码:?我可以使用多个吗?我是Syrus,interpy的创建者 多亏了codecs#coding:Python中的_codec_name,我们有机会在文件转换为字节码之前对其进行预处理 这就是它的工作原理: 读取文件内容 首先,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}!"