【Python】用文本列印樹

來源:互聯網
上載者:User

標籤:

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

 

【Python】用文本列印樹

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.