用于绘制树结构的包(tree linux命令样式)
lxtree的Python项目详细描述
lxtree
用于绘制树结构的包(tree linux命令样式)
基本用法
使用TreeNode
s构建树结构。aTreeNode
可以包含其他TreeNode
s
代表树。当你造车时得到一个字符串表示,
或者使用某个子树作为根获取子树的字符串。
代码示例
fromlxtreeimportTreeNode# Creating rootroot=TreeNode('root')# Adding a list of nodesroot.children=[TreeNode('branch1'),TreeNode('branch3')]# Insert noderoot.insert_child(TreeNode('branch2'),1)# Appending to a branch 1 by indexroot[0].append_child(TreeNode('branch11'))# Using index to assign children to branch11root[0][0]=[TreeNode('leaf111'),TreeNode('leaf112')]# Use `set_children` to add nodes as argvroot[1].set_children(TreeNode('leaf21'),TreeNode('leaf22'),TreeNode('leaf23'))# Print treeprint(root)
立即创建所有结构
root=TreeNode('root').set_children(TreeNode('branch1').append_child(TreeNode('branch11').set_children(TreeNode('leaf111'),TreeNode('leaf112'))),TreeNode('branch2').set_children(TreeNode('leaf21'),TreeNode('leaf22'),TreeNode('leaf23')),TreeNode('branch3'))print(root)
从dict创建树
tree_data={'root':{'branch1':{'branch11':{'leaf111':None,'leaf112':None}},'branch2':{'leaf21':None,'leaf22':None,'leaf23':None},'branch3':None}}print(TreeNode.tree_from_dict(tree_data))
输出
tree_data={'root':{'branch1':{'branch11':{'leaf111':None,'leaf112':None}},'branch2':{'leaf21':None,'leaf22':None,'leaf23':None},'branch3':None}}print(TreeNode.tree_from_dict(tree_data))