python 3中bittorrent bencoding的快速、安全和非递归实现

flatbencode的Python项目详细描述


https://travis-ci.org/acatton/flatbencode.svg?branch=master

在纯python中快速、安全且经过彻底测试的bencode实现 3,没有任何C分机。

这称为flatbencode,因为解码^{tt1}的算法$ 结构是非递归的,因此阻止RuntimeException

用法

>>>fromflatbencodeimportencode,decode>>>encode({b'foo':[b'bar',1]})b'd3:fool3:bari1eee'>>>decode(b'ldei0e0:e')[OrderedDict(),0,b'']

运行测试

$ pip install pytest hypothesis
$ py.test -v

变更日志

V0.2.1(2016-10-22)

  • 不接受字符串作为字典键[antoine catton]

v0.2.0(2016-10-22)

  • 当仍有数据时引发异常[Tim Ruffing,2]
  • 使用字节作为python字典键(而不是字符串)[Tim Ruffing,#2]
  • 序列化时对字典键排序(遵循BEP-0003)[antoine catton]

v0.1.0(2016-06-12)

  • 初次发布
  • 可以将bencoding解码为python数据结构。
  • 可以将python数据结构编码为bencoding序列化格式。

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

推荐PyPI第三方库


热门话题
java允许具有不同父类的类扩展类,而无需多重继承   java如何创建动态化的JScrollPane w/JPanel作为客户端?   java如何组织和命名包   在Java中读取属性文件   java无法解释的Android意图行为   在Java中动态执行多个BPEL文件的部署   ssl Java 6 SNI(服务器名称指示)?   java我们可以使用Robot框架自动化web和移动应用程序来执行并行执行   java for star pettern的循环   java为什么BinaryReader在线程中,从netty读取错误的数据包?   在java中将华氏度转换为摄氏度   使用Spark和java处理空值和引号编写CSV文件   Java中已排序日期到块的列表   visual studio代码VSCode Java不是linting或自动完成局部变量,而是自动完成Java快捷方式,如“sysout”