一个漂亮的simplename空间打印机
pretty-simple-namespace的Python项目详细描述
非常简单的名称空间
目录
这是什么?
- 一个simplename空间的字符串生成器和格式化程序,它试图使 数据尽可能可读。
为什么要创造它?
- 我经常使用simplename空间来保存状态,并且需要一种方法来打印它 调试目的。
简单用法
frompretty_simple_namespaceimportpprintfromtypesimportSimpleNamespaceasojoe=o(name={"first":"joe","last":"schmo"},age=30,favoriteFoods=["apples","steak"],)pprint(joe)# prints# {# name: {# first: 'joe'# last: 'schmo'# }# age: 30# favoriteFoods: [# 'apples'# 'steak'# ]# }
功能
- 通过很好地跟踪和打印引用来处理递归结构
- 现在递归到类型
list
、dict
和SimpleNamespace
。 - 有
bool
、str
、callable
和None
类型的特殊情况打印。- 布尔值和无布尔值均打印为小写
- 字符串用单引号括起来
- 可调用的附录
()
,例如myMethod()
。不表示参数
- 所有其他类型都是通过将其包装成
str
来打印的,例如str(userDefinedType)
限制
- 多行字符串看起来很难看
- 没有办法递归到上面列出的结构中
相关项目
api
格式(something,indent=2)=>;str
- 将
something
格式化为字符串,如Simple usage
pprint(something,indent=2)=>;无
- 只需打印格式化的
something
幽灵(*,缩进)=>;Wrapped module
如果要使用不同的默认值调用
format
或pprint
时,请使用此选项 缩进值,这样就不必一直手动传递它。例如
frompretty_simple_namespaceimportwrapWithpprint=wrapWith(indent=4).pprintpprint(o(tabbed4spaces=True))# {# tabbed4spaces: true# }
包装模块
- 只是simplename空间的一个实例,具有两个属性
format
和pprint
。
测试
## you must have poetry installed# $ poetry shell $ poetry install $ python runTests.py