python实现树形打印目录结构_python

这篇文章主要为大家详细介绍了python树形打印目录结构的相关代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了python树形打印目录结构的具体代码,供大家参考,具体内容如下

前言

这两天整理数据文件的时候发现,一层层的点击文件夹查看很繁琐,于是想写一个工具来递归打印出文件目录的树形结构,网上找了一些资料几乎都是使用的os.walk, 调试了以后发现返回的貌似的是一个“生成器”,只需要for循环即可,可是这样得到的好像是BFS的结构,并不是我想要的树形结构,最后终于发现了os.listdir这个函数,可是使用它来写一个深度优先搜索,只要递归调用就能解决我的问题。

代码

立即学习“Python免费学习笔记(深入)”;

#!/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变量拼接的过程。

相关推荐:

python实现两个文件合并功能

python实现两个文件合并功能

python实现两个文件合并功能

以上就是python实现树形打印目录结构_python的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2776067.html

(0)
上一篇 2025年3月8日 14:38:40
下一篇 2025年3月8日 14:38:47

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • Python-OpenCV基本操作方法详解_python

    下面小编就为大家分享一篇python-opencv基本操作方法详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧 基本属性 cv2.imread(文件名,属性) 读入图像 属性:指定图像用哪种方式读取文件 cv2.IMRE…

    2025年3月8日 编程技术
    200
  • python opencv 图像尺寸变换方法

    下面小编就为大家分享一篇python opencv 图像尺寸变换方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧 利用Python OpenCV中的 cv.Resize(源,目标,变换方法)就可以实现变换为想要的尺寸了 …

    编程技术 2025年3月8日
    200
  • python的api自动化测试怎么实现

    这次给大家带来python的api自动化测试怎么实现,python的api自动化测试实现的注意事项有哪些,下面就是实战案例,一起来看一下。 项目测试对于一个项目的重要性,大家应该都知道吧,写python的朋友,应该都写过自动化测试脚本。最近…

    编程技术 2025年3月8日
    200
  • python操作excel读写数据

    这次给大家带来python操作excel读写数据,python操作excel读写数据的注意事项有哪些,下面就是实战案例,一起来看一下。 本文实例为大家分享了python操作EXCEL的实例源码,供大家参考,具体内容如下 读EXCEL的操作:…

    编程技术 2025年3月8日
    200
  • python操作矩阵行列

    这次给大家带来python操作矩阵行列,python操作矩阵行列的python有哪些,下面就是实战案例,一起来看一下。 矩阵增加行 np.row_stack() 与 np.column_stack()import numpy as npa …

    2025年3月8日
    200
  • python实现数组list的增删改

    这次给大家带来python实现pythonlist的增删改,python实现数组list增删改的python有哪些,下面就是实战案例,一起来看一下。 数组是一种有序的集合,可随时添加、python其中的元素 book = [‘xiao zh…

    编程技术 2025年3月8日
    200
  • jquery实现树形目录步骤详解

    这次给大家带来jquery实现树形目录步骤详解,jquery实现树形目录的注意事项有哪些,下面就是实战案例,一起来看一下。 本文实例讲述了jquery实现的树形目录。分享给大家供大家参考。具体实现方法如下: Document.st_tree…

    2025年3月8日
    200
  • python读写json文件案列详解(附代码)

    这次给大家带来python读写json文件案列详解(附代码),python读写json文件的注意事项有哪些,下面就是实战案例,一起来看一下。 JSON(注意事项 Object Notation) 是一种轻量级的数据交换格式。它基于ECMAS…

    2025年3月8日 编程技术
    200
  • angular实现页面局部打印步骤详解

    这次给大家带来angular实现页面局部打印步骤详解,angular实现页面局部打印的注意事项有哪些,下面就是实战案例,一起来看一下。 前言 本文主要介绍了关于angular实现页面打印局部功能的相关内容,分享出来供大家参考,下面话不多说了…

    2025年3月8日
    400
  • JS实现文本字体打印界面

    这次给大家带来JS实现文本字体打印界面,JS实现文本字体打印界面的注意事项有哪些,下面就是实战案例,一起来看一下。 具体代码如下: 打字效果 登录后复制 p { width:980px; margin:10px auto; backgrou…

    编程技术 2025年3月8日
    200

发表回复

登录后才能评论