Axon的Python库

pyaxon的Python项目详细描述


===
PYAXON
=

``PYAXON``是一个“麻省理工学院授权的”python库,用于'AXON<;http://intellimath.bitbucket.io/AXON>;`
axon是扩展的对象表示法。这是一种简单的基于文本的格式,用于交换对象、文档和数据。
它试图结合最好的“json”<;http://www.json.org>;``ux,
`xml<;http://www.w3.org/xml/>;`` uu和“yaml”<;http://www.yaml.org>;``ux。

links
----

*pyaxon`的主存储库位于“bitbucket<;https://bitbucket.org/intellimath/pyaxon>;`.
*镜像到“github”<;https://github.com/intellimath/pyaxon>;` `
*`blog<;http://intellimath.bitbucket.io/blog/categories/axon.html>;` `关于axon。
*更改历史<;http://intellimath.bitbucket.io/axon/changelog.html>;`







`py axon``在python 2.7、3.3、3.4、3.4和3.5的pyaxon`下运行



>它可以通过pip安装:pip安装pyaxon





















>
`` pyaxon`第一个导入轴突轴突`模块:







>>>>;导入axon

加载和转储列表、dict、元组:

>;>from decimal import decimal
>;>from date time import datetime,time,date
>;>text=axon.dumps([[abc__,1,3.14,true],
[datetime.now(),decimal('3.14')]])
>;>打印(文本)
[“abc____”13.14真]
[^2015-05-12T13:08:37.078189 3.14d]

>;>;VAL=[{id':1,'昵称':'nick','time':时间(12,31,34),'文本':'hello!'},
{id':2,'昵称':'标记','时间':时间(12,32,3),'文本':'嗨!'}]
>;>text=axon.dumps(VAL)
>;>print(text)
{id:1昵称:“nick”text:“您好!”时间:^12:31:34}
{id:2昵称:“马克”文本:“嗨!”时间:^12:32:03}
>;>text=axon.dumps(vals,pretty=1)
>;>print(text)
{id:1
昵称:“nick”
text:“hello!”
时间:^12:31:34}
{id:2
昵称:“mark”
文本:“hi!”
time: ^12:32:03}
>>> vals == axon.loads(text)
True

>>> vals = [[{'a':1, 'b':2, 'c':3}, {'a':[1,2,3], 'b':(1,2,3), 'c':{1,2,3}}]]
>>> text = axon.dumps(vals)
>>> print(text)
[{a:1 b:2 c:3} {a:[1 2 3] b:(1 2 3) c:{1 2 3}}]
>>> text = axon.dumps(vals, 打印(文本)
>gt>gt;打印(文本)
[{a:1
>b:2
>c:3}
{a:[1 2 2 3]
>b:(1 2 3)
>c:{1 2 3}}
>vals==axon.loads(文本)
>true

>dump,以“安全”模式加载对象:
>
>
>打印(文本)
>true
>dump,以“安全”模式加载对象:

>
>>br/>>gt;vals=axon.axon.axon.axon.axon.vals=axon.axon.axon.loads('person{name:“nick”年龄:32电子邮件:“nail@example.com”}')
>;>;打印(类型(VAL[0]))
<;类“axon.\u objects.Node”>;
>;>;打印(VAL[0])
节点('person',{email':'nail@example.com','age':32,'name':'nick'})

>;>;文本=axon.dumps(VAL)
>打印(文本)
个人{年龄:32电子邮件:“nail@example.com”姓名:“nick”}
>;>text=axon.dumps(vals,pretty=1)
>;>print(文本)
个人
年龄:32
电子邮件:“nail@example.com”
姓名:“nick”
>;text=axon.dumps(vals,pretty=1,braces=1)
>打印(文本)
个人{
年龄:32
电子邮件:“nail@example.com”
姓名:“nick”}

Dump,在不安全模式下加载对象::

电子邮件:
self.name=name
self.age=age
self.email=email

def\uu str\uu(self):
return“person(name=%r,age=%r,email=%r)”%(self.name,self.age,self.email)

@axon.reduce(person)
def reduce\person(p):
return axon.node('person',{name“:p.name,'age':p.age,'email':p.email}

>
@axon.factory('person')
>defacto厂员工(attrs,vals):返回人(name=attrs['name'],age=attrs['age'],email=attrs['email'])



>
>;p=person('nick',32,‘mail@example.com'mail@mail@example.com')
>p>p>p>p>p>p=person([p])>p>p=person('p>p>p>p>p>p>p>p>p.dumps([p>p>(一)有权使用;打印(文本)
个人{年龄:32电子邮件:“mail@example.com”姓名:“nick”}
>;>val=axon.loads(文本,模式='strict')[0]
>;>print(val)
个人(姓名='nick',年龄=32,电子邮件='mail@example.com')

功能
--


1。提供简单的API,用于以文本Axon格式加载和转储对象。
2.默认情况下提供安全装载和卸载。
3.在工厂注册的基础上提供不安全的物品装载和倾倒/减少可调用项。
4.为完全受应用程序/框架/库控制的不安全加载和转储提供一种方法。
5。它足够快,因此非常有用。



欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
使用ApacheCXF和Eclipse的web服务中的java JNI问题   java如何在模式中正确声明扩展?   java Mapstruct从源对象的一组字段中准备一个列表,并将其设置为目标对象   Java:Infinite循环hasnetint()   面向对象Java装饰图案比萨面层   oop Java将常用方法放入超类   Java程序不断崩溃   使用扫描仪写入文本文件时出现java异常错误   java如何打印没有尾随逗号的地图?   使用java在中缀到后缀应用程序中获得错误输出   Java正则表达式拆分运算符的数学表达式,不包括括号中的运算符   java如何从KeyClope获取用户详细信息(不是登录用户,而是通过id获取任何用户)   java如何通过选择微调器启用或禁用editText   java jasypt有多安全?   java上传图像失败   java JDBC批量更新有什么帮助?   java如何在添加新视频文件时获取通知   java将值Bean传递给类,然后将类传递给JSP   java Primefaces Datatable在触发操作时提供空指针异常   Java:在可调整大小的组件中调整旋转形状的大小