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第三方库


热门话题
带Maven的Eclipse Java存储库:缺少工件:compile   java如何以编程方式停止RMI服务器并通知所有客户端   java Roboguice抛出ClassNotFoundException:AnnotationDatabaseImpl   java为什么lucene 4.0删除IndexWriter类的两个构造函数?   nls如何避免java项目上不需要的日志消息?   测试无法在Selenium Webdriver(java)中定位iframe   使用XML的java servlet   java如何使用jxl用****屏蔽单元格   java使用SQLite从数据库中选择“没有这样的列”   导入扫描程序后出现java编译错误   插入查询的java空指针异常   使用创建PostgreSQL数据库。Java应用中的sql脚本   java使用jsoup将HTML解析为格式化的明文