与版本无关的字节链

byt的Python项目详细描述


https://travis-ci.org/ceyzeriat/byt.svg?branch=masterhttps://coveralls.io/repos/github/ceyzeriat/byt/badge.svghttp://img.shields.io/badge/license-GPLv3-blue.svg?style=flat
Name:byt
Website:https://github.com/ceyzeriat/byt
Author:Guillaume Schworer
Version:1.1

尽管新的python3字符串/字节链可以说比python2更简洁,但使用它们编写代码(与两个版本兼容)几乎是一场噩梦。这个包试图在两个主要的python版本(2.7+和3.5+)之间消除字符串和字节链管理中的主要不连续性。

byt是python2中的str和python3中的bytes的包子类。它的主要设计重点是行为完全相同,无论使用的是python版本。为了实现这种行为,byt是非常保守的:byt对象只能与其他byt对象(连接、查找、替换等)一起工作。这是(不幸的?)必须确保有些松散的python2字符串和字节链混合起来,其工作方式与python3相同。

这个包还修复了python3bytes(tryb'test'[0:1] == b'test'[0])的一些奇怪行为,并提供了新的方便方法或属性。

它由Guillaume Schworer建造,并根据 gnu通用公共许可v3或更高版本(gplv3+)许可证(请参见LICENSE)。

安装

只需运行

pip install byt

以获得最新的稳定版本。

用法

这两个入口点是byt.Bytbyt.DByt类,它们自动 根据运行的python版本加载。

BytDByt之间的唯一区别是str(Byt)将打印ascii 当str(DByt)–d like display–将打印其 对应的十六进制值。这些类是完全互操作的。

你就这样使用它:

from byt import Byt

>> b = Byt('hello world!')
>> print(b)
Byt('hello world!')
>> (Byt(1,2) + Byt("\x01\x02") + Byt([1,2])).hex()
'01 02 01 02 01 02'
>> print(b.hex())
68 65 6c 6c 6f 20 77 6f 72 6c 64 21
>> eval(repr(b)) == b
True
>> print(Byt('str1') + 'str2')
TypeError: can't concat Byt to str
>> byt.Byt('str1')[2:].ints()
[114, 49]


from byt import DByt

>> b = DByt('hello world!')
>> print(b)
68 65 6c 6c 6f 20 77 6f 72 6c 64 21
>> eval(repr(b)) == b
True

# inter-compatibility

>> DByt('yes') == Byt('yes')
True
>> DByt('yes') + Byt('no')
DByt('yesno')
>> print(DByt('yes') + Byt('no'))
79 65 73 6e 6f

文档

所有选项都记录在类的docstrings中。可以在python shell中使用:

>> from byt import Byt, DByt
>> print(Byt.__doc__)
>> print(DByt.__doc__)

或者,在ipython中使用:

>> from byt import Byt
>> Byt?
>> DByt?

许可证

版权所有2017 Guillaume Schworer

PatienceBar是GNU General提供的免费软件 公共许可证v3或更高版本(gplv3+)许可证(请参见LICENSE)。

更改日志

1.1.0(2017-11-12)

  • 添加了文档和测试
  • byt/dbyt对象的新初始化:byt(1,2,3)

1.0.12(2017-08-12)

  • 将dbyt十六进制添加为默认的str,而repr则保持基于ascii
  • 新方法“str”

1.0.8(2017-06-26)

  • 固定repr方法和反斜杠

1.0.6(2017-03-22)

  • 通过pip修复了安装错误

1.0.4(2017-03-22)

  • 添加了fromHex类方法

1.0.3(2017-02-22)

  • 修复了在BYT对象上调用IsInstance时出现的错误

1.0.0(2017-02-19)

  • 初次发布。

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

推荐PyPI第三方库


热门话题
java消除多个构造函数中的冗余   java如何准备和提供测试数据   java如何处理Selenium Chromedriver选择证书弹出确认?   java服务器在命名时中断。重新绑定   java如何从包含许多元素的对象中提取对象的单个元素   主方法上的java执行   用于输出棋盘的按钮的java GridLayout   java如何结合Web/移动用户身份验证   要打开以运行(windows+R)和执行命令的Java代码   java我在忘记密码的电子邮件发送过程中遇到以下错误err=javax。邮政AuthenticationFailedException这是我的代码   列出在使用泛型集合的用户定义类中实现的JAVA 8。排序()不起作用   java Apache POI写入时间大于24小时   java Hibernate通过另一个实体映射   使用Java在现有json文件中追加json对象   Spring批处理上的java停止处理   java为特定的mybatisspring映射器设置不同的执行器类型   java我想阅读html的内容,我需要用所需的文本对其进行更改