tree
将字典转为 tree 结构输出
1 tree data 要求
字典最外层有且仅有 1 个 key,如 "root"
字典中相关的 key 的 vlaue 为空字典或者是非字典时,均是叶子节点,若非字典时,则会按 key=value 输出
2 实践
#!/usr/bin/python
# coding=utf8
"""
# Description: tree demo
"""
from collections import OrderedDict as OD
from xlib.util.ascii_art import tree
tree_obj = tree.Tree()
# 有序字典
data = {
'root': OD([
('sometimes', {'you': {}}),
('just',
{'want': OD([
('to', {}),
('draw', {}),
])}),
('trees', {}),
('in', {
'your': {
'terminal': {}
}
})
])
}
"""
root
+-- sometimes
| +-- you
+-- just
| +-- want
| +-- to
| +-- draw
+-- trees
+-- in
+-- your
+-- terminal
"""
print(tree_obj(data))
# 普通字典
data = {
"root": {
"ceshi": {},
"hello": {},
"fxx": {"fff": {}}
}
}
print(tree_obj(data))
"""
root
+-- ceshi
+-- hello
+-- fxx
+-- fff
"""
# 普通字典, 叶子节点含有数据
data = {
"root": {
"ceshi": {},
"hello": {},
"fxx": {"fff": "node_data"}
}
}
print(tree_obj(data))
"""
root
+-- ceshi
+-- hello
+-- fxx
+-- fff=node_data
"""
Last updated