国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python實現樹形打印目錄結構

2020-02-22 23:34:35
字體:
來源:轉載
供稿:網友

本文實例為大家分享了python樹形打印目錄結構的具體代碼,供大家參考,具體內容如下

前言

這兩天整理數據文件的時候發現,一層層的點擊文件夾查看很繁瑣,于是想寫一個工具來遞歸打印出文件目錄的樹形結構,網上找了一些資料幾乎都是使用的os.walk, 調試了以后發現返回的貌似的是一個“生成器”,只需要for循環即可,可是這樣得到的好像是BFS的結構,并不是我想要的樹形結構,最后終于發現了os.listdir這個函數,可是使用它來寫一個深度優先搜索,只要遞歸調用就能解決我的問題。

代碼

#!/usr/bin/env python3# -*- coding: utf-8 -*-#a test for traverse directory__author__ = 'AlbertS'import osimport os.pathdef 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)

運行效果

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

總結

一開始寫的時候發現只能遞歸一層文件夾,后來發現問題出現在os.path.isdir函數這里。 傳給os.path.isdir函數函數的參數只能是一個絕對路徑,或者相對于工作目錄的相對路徑。 有了上面發現的問題,才有了newitem變量拼接的過程。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林站長站。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 建宁县| 高雄县| 兴隆县| 松阳县| 齐河县| 洞头县| 库伦旗| 靖远县| 福建省| 隆子县| 贺兰县| 涟水县| 常宁市| 平舆县| 冷水江市| 仲巴县| 惠州市| 庆元县| 高安市| 云霄县| 五常市| 台中市| 平顶山市| 闻喜县| 宜昌市| 特克斯县| 眉山市| 闸北区| 疏勒县| 阜南县| 青神县| 福贡县| 都兰县| 历史| 绥化市| 辽中县| 台北县| 仙桃市| 宝山区| 郴州市| 乡宁县|