欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python實(shí)現(xiàn)樹(shù)形打印目錄結(jié)構(gòu)

 更新時(shí)間:2018年03月29日 09:36:29   作者:AlbertS  
這篇文章主要為大家詳細(xì)介紹了python樹(shù)形打印目錄結(jié)構(gòu)的相關(guān)代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了python樹(shù)形打印目錄結(jié)構(gòu)的具體代碼,供大家參考,具體內(nèi)容如下

前言

這兩天整理數(shù)據(jù)文件的時(shí)候發(fā)現(xiàn),一層層的點(diǎn)擊文件夾查看很繁瑣,于是想寫(xiě)一個(gè)工具來(lái)遞歸打印出文件目錄的樹(shù)形結(jié)構(gòu),網(wǎng)上找了一些資料幾乎都是使用的os.walk, 調(diào)試了以后發(fā)現(xiàn)返回的貌似的是一個(gè)“生成器”,只需要for循環(huán)即可,可是這樣得到的好像是BFS的結(jié)構(gòu),并不是我想要的樹(shù)形結(jié)構(gòu),最后終于發(fā)現(xiàn)了os.listdir這個(gè)函數(shù),可是使用它來(lái)寫(xiě)一個(gè)深度優(yōu)先搜索,只要遞歸調(diào)用就能解決我的問(wèn)題。

代碼

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
#a test for traverse directory

__author__ = 'AlbertS'

import os
import os.path

def dfs_showdir(path, depth):
 if depth == 0:
 print("root:[" + path + "]")

 for item in os.listdir(path):
 if '.git' not in item:
  print("| " * depth + "+--" + item)

  newitem = path +'/'+ item
  if os.path.isdir(newitem):
  dfs_showdir(newitem, depth +1)

if __name__ == '__main__':
 dfs_showdir('.', 0)

運(yùn)行效果

root:[.]
+--1111.segmentfault.com
| +--01decode.py
| +--01string.txt
| +--1111.segmentfault.com.tar.gz
+--urllib_test.py
+--use_module.py
+--water_deal
| +--water_pouring2.py
+--web
| +--module_test.py
| +--__init__.py
| +--__pycache__
| | +--module_test.cpython-34.pyc
| | +--__init__.cpython-34.pyc
+--web_crawler
| +--bg_teaser.svg
| +--crawler_images
| | +--10393478-1.jpg
| | +--13802226-1.jpg
| | +--169b1b76356f636.jpg
| | +--1a774de56fb4bf2.jpg
| | +--small_event_dft.jpg
| | +--ypy_qr.jpg
| +--crawler_image_test.py
| +--crawler_test.py
| +--crawler_website
| | +--crawler_article_set
| | | +--aiohttp.html
| | | +--asyncio.html
| | | +--async_await.html
| | | +--base64.html

總結(jié)

  • 一開(kāi)始寫(xiě)的時(shí)候發(fā)現(xiàn)只能遞歸一層文件夾,后來(lái)發(fā)現(xiàn)問(wèn)題出現(xiàn)在os.path.isdir函數(shù)這里。
  • 傳給os.path.isdir函數(shù)函數(shù)的參數(shù)只能是一個(gè)絕對(duì)路徑,或者相對(duì)于工作目錄的相對(duì)路徑。
  • 有了上面發(fā)現(xiàn)的問(wèn)題,才有了newitem變量拼接的過(guò)程。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論