python打印目录结构_Python学习笔记(2)——遍历目录结构并打印
有时候想看一下项目中的目录和文件结构,用python实现
主要用到这几个函数
import os
os.getcwd() #获取当前运行程序的目录
os.listdir(path) #取得path下的文件和目录,返回值List类型
os.path.isdir(path) #判断path路径是否为目录
os.path.isfile(path)#判断path路径是否为文件
os.path.splitext(path)#对path路径切片,第二个为文件拓展名,例如'.py'
代码如下
import os
#只打印以下文件拓展名
cType = ['.py','.html','.css','.js','.sql']
def show_file(path,deep):
#取得当前目录下的文件夹以及文件,返回值List类型
file_list = os.listdir(path)
#实现遍历目录
for dir in file_list:
if os.path.isdir(path+'/'+dir):
if deep == 0:
print dir+'/'
else:
print '| '*deep+'+-'+dir+'/'
#递归打印
show_file(path+'/'+dir,deep+1)
#实现遍历文件
for file in file_list:
if os.path.isfile(path+'/'+file):
#过滤文件
for type in cType:
#对路径切片获得文件拓展名
if os.path.splitext(path+'/'+file)[1] == type:
if deep == 0:
print file
else:
print '| '*deep+'+-'+file
break;
if __name__ == '__main__':
path = os.getcwd()
print path
show_file(path,0)
例如打印某一目录结构:
/web/mycode/python/learn_web
serving_xml/
| +-templates/
| +-code.py
| +-__init__.py
basic_blog/
| +-templates/
| | +-new.html
| | +-base.html
| | +-index.html
| | +-edit.html
| | +-view.html
| | +-login.html
| +-scheme.sql
| +-model.py
| +-blog.py
| +-__init__.py
todo_list/
| +-templates/
| | +-base.html
| | +-index.html
| | +-admin.html
| +-model.py
| +-schema.sql
| +-todo.py
| +-__init__.py
方法二:
# coding=utf-8
__author__ = 'nianyu'
from os.path import basename, isdir, exists
from os import listdir
from sys import argv
def show_tree(path,depth=0):
print depth* '| ' + '|_', basename(path)
if(isdir(path)):
for item in listdir(path):
show_tree(path+'/'+item, depth+1)
def isExist(path):
if path[0] is not '/':
return False
if not exists(path):
return False
return True
if __name__ == "__main__":
args = argv
if len(args)>2:
print "more than one argument."
exit(0)
path = str(args[1])
if not isExist(path):
print "the file path do not exist."
exit(0)
# show_tree("./")
show_tree(path)
python打印目录结构_Python学习笔记(2)——遍历目录结构并打印相关推荐
- python查看方法作用_python学习笔记1,新手小白也能看得懂
这是酸菜在风变编程上学习python时积累的学习笔记,希望能帮到同样也在学习中的小伙伴.持续更新~ 第0关 Print()函数 (1)不带引号:让计算机读懂括号里的内容,打印最终的结果 例:print ...
- python的基本数据结构_Python学习笔记——基本数据结构
列表list List是python的一个内置动态数组对象,它的基本使用方式如下: shoplist = ['apple', 'mango', 'carrot', 'banana'] print 'I ...
- python的基本数据结构_python学习笔记-基本数据结构
Python 学习笔记-1 写在最前面,因为组内小伙伴要走,生信团队由原来的7个人,慢慢的变的只有我一个人了,需要紧急突击下python,因为有python的流程要交接维护 python 基本情况 代 ...
- python创建实例属性_Python学习笔记__6.5章 实例属性和类属性
# 这是学习廖雪峰老师python教程的学习笔记 1.概览 1.1.实例绑定属性 class Student(object): def __init__(self, name): self.name ...
- python __name__怎么使用_python学习笔记26(python中__name__的使用)
在python中,每个py文件都是一个模块,也都是一个可执行文件,即包含main方法.因此,对每个py文件,可以单独运行,也可以import它给其他客户使用,这两种情况不一样. 1. 如果模块是被导入 ...
- python的continue用法_Python学习笔记之Break和Continue用法分析
本文实例讲述了Python学习笔记之Break和Continue用法.分享给大家供大家参考,具体如下: Python 中的Break 和 Continue break:控制何时循环应该结束 conti ...
- python中continue用法_Python学习笔记之Break和Continue用法分析
本文实例讲述了Python学习笔记之Break和Continue用法.分享给大家供大家参考,具体如下: Python 中的Break 和 Continue break:控制何时循环应该结束 conti ...
- python 异步加载_Python学习笔记4——爬取异步加载数据
一.什么是异步加载? 在之前的学习笔记中,爬取的网页是需要手动翻页的网址,但是一些网站是通过自动加载翻页的,如knewone网页.浏览knewone的官网就能发现,当下拉到网页最下端时,网站会自动加载 ...
- python 坐标轴 单位刻度_Python学习笔记(matplotlib篇)--坐标轴刻度
python学习笔记--坐标轴刻度 所用的库及环境: ide:pycharm python环境:python3.7 matplotlib: matplotlib 1.11 numpy: nump ...
最新文章
- jsp中空格字符怎么写_驰骋职场多年,如何对付Excel中的空格字符?
- mysql为int类型的字段php取出来之后为何变为string类型?
- 祝天下所有父亲节日快乐
- C二维数组行为空,列不为空
- Shell生成随机mac地址
- php soap 两个版本_Ceontos 安装php7以上的版本
- 折半查找和二叉排序树的时间性能_详解二叉排序树(基础篇)
- vim内过长字符串导致的语法加亮错误
- 【C++】 11_新型的类型转换
- Error: could not open `C:\Program Files\Java\jre6\lib\i386\jvm.cfg')
- grep正则表达式详解及练习
- 绿坝十年,儿童网络安全保护问题仍未解决
- Java 类加载器 详解
- 如何搭建一个论坛社区网站?
- win7搭建nas存储服务器_普通用户的低成本家庭文件服务器(伪NAS)的搭建(系统篇)...
- 2020年了,简单聊一聊木东居士的那些事~
- linux中gnuplot给定文本,Gnuplot (三)输出图片/字体支持、eps/png/pdf/enhanced文本
- 如何准备项目启动大会
- 使用 Zadig 交付云原生微服务应用
- Floyd-Warshall算法详解(转)
热门文章
- kali锁屏后无法唤醒_看一下吧,自己对线程以及锁的概念和原理了解是否正确...
- oracle表ddl,七、Oracle中DDL改变表结构操作
- gdb 调试kvm虚拟机_GDB+QEMU调试内核模块(实践篇)
- php开发实例大全pdf百度云盘_互联网大厂 主要使用哪些开发语言
- 模拟usb拔出插入_拔U盘的时候到底要不要点“安全删除USB”?微软官方给了答案...
- mysql 跨服务器 etl_mysql数据库跨服务器查询【需要确定mysql支持FEDERATED ,可以参照文章内容自己配置】...
- viewpager的优化
- 基于JAVA+SSH+MYSQL的在线考试系统
- sql-libs(6) 双引号的报错注入
- 把javabean复制到另一个javabean 使用BeanUtils.copyProperties(a,b) 复制