文字是一个项目,建立一个方法来生成的Python代码与Python代码 而不必Python代码字符串,您使用literal.py对象记得做他们的业务和运营的历史所产生的Python程序。
这就是我想要玩一个实验;它的用途并不证明,并且更可能,这将扔掉作为失败的实验。所以小心和谨慎使用。
快速概述
进口字面
@ literal.py
DEF unpack_octet(X,有效载荷,偏移,unpack_from):
&NBSP; X <,<= unpack_from(“B”,有效载荷,偏移)
&NBSP;胶印+ = 1
打印(unpack_octet())
得到:
X = unpack_from(“B”,有效载荷,偏移)
偏移+ = 1
或者另一个例子用来创建参数unpackers为AMQP协议:
高清解压(方法):
&NBSP; @ literal.py
&NBSP;高清体(P,有效载荷,偏移,unpack_from,argtuple,ssize):
&NBSP;场= method.fields
&NBSP;名称= p.tuple(* self.field_names)
&NBSP;对于我,FSET在历数(领域):
&NBSP;如果len(FSET)== 1:
&NBSP;在FSET领域:
&NBSP;名称= p.var(field.name)
&NBSP;若field.format =='*':
&NBSP;#这是一个字符串的有效载荷,
&NBSP;#不用解压
&NBSP;名称<<=载荷[失调:胶印+ ssize]
&NBSP;胶印+ = ssize
&NBSP;否则:
&NBSP;#单场解压
&NBSP;名称<<= unpack_from(struct_format(field.format)
&NBSP;有效载荷,偏移量)[0]
&NBSP;胶印+ = field.size
&NBSP;否则:
&NBSP;场#A名单解压
&NBSP;这些= p.tuple(* fset.names)
&NBSP;这些<<= unpack_from(struct_format(fset.format)
&NBSP;有效载荷,偏移)
&NBSP;胶印+ = SUM(f.size对于f在FSET)
&NBSP;返回名称
&NBSP;回体()as_fun(拉姆达有效载荷,偏移:1,
&NBSP; method.name)
会产生对AMQP方法basic_deliver下面的代码:
DEF传递(有效载荷,偏移量):
&NBSP; ssize = unpack_from(“B”,有效载荷,偏移量)[0]
&NBSP;胶印+ = 1
&NBSP; consumer_tag =有效载荷[失调:胶印+ ssize]
&NBSP;胶印+ = ssize
&NBSP; delivery_tag,交还,ssize = unpack_from(“QBB',有效载荷,偏移)
&NBSP;胶印+ = 10
&NBSP;交换=有效载荷[失调:胶印+ ssize]
&NBSP;胶印+ = ssize
&NBSP; ssize = unpack_from(“B”,有效载荷,偏移量)[0]
&NBSP;胶印+ = 1
&NBSP; routing_key =有效载荷[失调:胶印+ ssize]
&NBSP;胶印+ = ssize
&NBSP;回报(consumer_tag,delivery_tag,重新传递,
&NBSP;交流,routing_key)
更多的文档来。
安装
您可以通过Python包索引(PyPI中),或者从源代码安装的文字。
要安装使用PIP:
PIP安装字面
要安装使用的easy_install:
&NBSP;字面的easy_install
如果您已经下载了一个源码包,你可以通过执行以下安装:
&NBSP;蟒蛇setup.py编译
#蟒蛇setup.py安装#为根
的Bug跟踪系统
如果您有任何建议,错误报告或烦恼,请报告给我们的问题跟踪在http://github.com/ask/literal.py/issues/
特约
literal.py的发展发生在Github上:http://github.com/ask/literal.py
你是高度鼓励参与开发。如果你不喜欢Github上(出于某种原因)欢迎您定期发送补丁
要求:
- 蟒蛇
评论没有发现