【Python】用文本打印树

From:http://zhidao.baidu.com/link?url=O8U5TynGBMojDw2iFhlghPPf5_ZE1X8CAQMrK19pv-KxhvKCc6Z2yzsoQaukgN2haYudVO7Hg3c0ZvNm8ALcY_

#!/usr/bin/python3
# -*- coding: utf-8 -*-

def print_tree(tree):
    buff = [‘ROOT/‘]
    _print_tree(tree, buff, ‘‘, 0)
    print(‘\n‘.join(buff))

def _print_tree(tree, buff, prefix, level):
    count = len(tree)
    for k, v in tree.items():
        count -= 1
        if v:
            buff.append(‘%s +- %s/‘ % (prefix, k))
            if count > 0:
                _print_tree(v, buff, prefix + ‘ |  ‘, level + 1)
            else:
                _print_tree(v, buff, prefix + ‘    ‘, level + 1)
        else:
            buff.append(‘%s +- %s‘ % (prefix, k))

def test():
    tree = {
        ‘bin‘: { ‘bash‘: None, ‘cat‘: None, ‘cp‘: None, },
        ‘etc‘: {
            ‘init.d‘: { ‘apache2‘:None, ‘slapd‘:None, ‘sshd‘:None, },
            ‘passwd‘: None,
            ‘hosts‘: None,
        },
        ‘var‘: {
            ‘log‘: {
                ‘apache2‘: { ‘accesslog‘:None, ‘errorlog‘: None, },
            },
        },
    }
    print_tree(tree)

if __name__ == ‘__main__‘:
    test()

输出

ROOT/
 +- etc/
 |   +- passwd
 |   +- init.d/
 |   |   +- apache2
 |   |   +- sshd
 |   |   +- slapd
 |   +- hosts
 +- bin/
 |   +- cp
 |   +- bash
 |   +- cat
 +- var/
     +- log/
         +- apache2/
             +- errorlog
             +- accesslog
时间: 2024-10-29 19:11:15

【Python】用文本打印树的相关文章

用python处理文本,本地文件系统以及使用数据库的知识基础

主要是想通过python之流的脚本语言来进行文件系统的遍历,处理文本以及使用简易数据库的操作. 本文基于陈皓的:<程序员技术练级攻略> 一.Python csv 对于电子表格和数据库导出文件,比较常见的文件格式是.csv,所以python中的csv模块也是一个比较重要的模块.下面介绍csv常用的方法. 1.csv.reader(csvfile, dialect='excel', **fmtparams) 该函数返回一个reader对象,能够以行遍历的形式遍历行里面的数据. csvfile——需

【Python】Python在文本分析中将中文和非中文进行分割

1.问题描述 进行文本分析的时候需要将中文和非中文进行分开处理,下面通过Python将文本中的中文部分提取出来进行需要的处理. 2.问题解决 开发环境:Linux 程序代码如下:split.py #!/usr/bin/python #-*- coding:utf-8 -*- import sys reload(sys) sys.setdefaultencoding("utf8") import re #导入正则表达式模块:re模块 def translate(inputFile, ou

python读取文本、配对、插入数据脚本

#-*- coding:UTF-8 -*- #-*- author:Zahoor Wang -*- import codecs, os, sys, platform, string def env(): return platform.system() def read_file(uri, charset = "utf-8"): f = codecs.open(uri, "r", charset) s = f.read() f.close() return s de

16.输入一颗二元树,从上往下按层打印树的每个结点,同一层中按照从左往右的顺序打印

转载请注明出处:http://www.cnblogs.com/wuzetiandaren/p/4261605.html 声明:现大部分文章为寻找问题时在网上相互转载,此博是为自己做个记录记录,方便自己也方便有类似问题的朋友,本文的思想也许有所借鉴,但源码均为本人实现,如有侵权,请发邮件表明文章和原出处地址,我一定在文章中注明.谢谢. 题目:输入一颗二元树,从上往下按层打印树的每个结点,同一层中按照从左往右的顺序打印. 题目分析:可以用一个LinkedList的数据结构模拟队列来完成此操作.传入树

python将文本转化成gif图片阅读

这是python吧的一个帖子(http://tieba.baidu.com/p/3030737423),具体的就是,导入txt文档,然后就会生成像一个gif的界面,文字不断的更换,用这种方法看文档,如图: 代码: # -*- coding: utf-8 -* #------------------------------------- import pygame from pygame.locals import * from sys import exit import time import

教你利用python处理文本

我是个C/C++ Coder,并不是专业写python的,python lua其实属于一类语言,只不要python的库更多,强大之处并不完全是python语言特性,而且扩展库比较多,请允许我黑一下python,python始终是个脚本语言,优点缺点很明显,作为一个非轻量级脚本语言(与lua较之),python适合干很多系统相关的事情.这里就分析一下如何利用python处理文本,查找,提取. 假定我们要完成这样一个功能:搜索出指定目录内的所有文本,取出指定位置内容,并打印行数和所在的行内容. 遍历

Python与数据结构[3] -&gt; 树/Tree[0] -&gt; 二叉树及遍历二叉树的 Python 实现

二叉树 / Binary Tree 二叉树是树结构的一种,但二叉树的每一个节点都最多只能有两个子节点. Binary Tree: 00 |_____ | | 00 00 |__ |__ | | | | 00 00 00 00 对于二叉树的遍历,主要有以下三种基本遍历方式: 先序遍历:先显示节点值,再显示左子树和右子树 中序遍历:先显示左子树,再显示节点值和右子树 后序遍历:先显示左子树和右子树,再显示节点值 下面将用代码构建一个二叉树,并实现三种遍历方式, 完整代码 1 class TreeNo

#Python绘制 文本进度条,带刷新、时间暂缓的

#Python绘制 文本进度条,带刷新.时间暂缓的 #文本进度条 import time as T st=T.perf_counter() print('-'*6,'执行开始','-'*6) maxx=11 #要大1 for i in range(maxx): s1='*'*i s2='->' s3='.'*(maxx-i-1) T.sleep(0.5) #假装有延时 dur=T.perf_counter()-st print("\r%3d%%[%s%s%s] %.2fs"%(i

python将文本转换成语音的代码

将写代码过程中经常用的一些代码片段备份一下,如下代码段是关于python将文本转换成语音的代码,应该是对小伙伴们有一些好处. # Text To Speech using SAPI (Windows) and Python module pyTTS by Peter Parente# download installer file pyTTS-3.0.win32-py2.4.exe # and pywin32-204.win32-py2.4.exe at this date the latest