Python读取一个目录下所有目录和文件的方法


Posted in Python onJuly 15, 2016

本文实例讲述了Python读取一个目录下所有目录和文件的方法。分享给大家供大家参考,具体如下:

这里介绍的是刚学python时的一个读取目录的列子,给大家分享下:

#!/usr/bin/python
# -*- coding:utf8 -*-
import os
allFileNum = 0
def printPath(level, path):
 global allFileNum
 '''
 打印一个目录下的所有文件夹和文件
 '''
 # 所有文件夹,第一个字段是次目录的级别
 dirList = []
 # 所有文件
 fileList = []
 # 返回一个列表,其中包含在目录条目的名称(google翻译)
 files = os.listdir(path)
 # 先添加目录级别
 dirList.append(str(level))
 for f in files:
  if(os.path.isdir(path + '/' + f)):
   # 排除隐藏文件夹。因为隐藏文件夹过多
   if(f[0] == '.'):
    pass
   else:
    # 添加非隐藏文件夹
    dirList.append(f)
  if(os.path.isfile(path + '/' + f)):
   # 添加文件
   fileList.append(f)
 # 当一个标志使用,文件夹列表第一个级别不打印
 i_dl = 0
 for dl in dirList:
  if(i_dl == 0):
   i_dl = i_dl + 1
  else:
   # 打印至控制台,不是第一个的目录
   print '-' * (int(dirList[0])), dl
   # 打印目录下的所有文件夹和文件,目录级别+1
   printPath((int(dirList[0]) + 1), path + '/' + dl)
 for fl in fileList:
  # 打印文件
  print '-' * (int(dirList[0])), fl
  # 随便计算一下有多少个文件
  allFileNum = allFileNum + 1
if __name__ == '__main__':
 printPath(1, '/home/test/')
 print '总文件数 =', allFileNum

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
Python中动态获取对象的属性和方法的教程
Apr 09 Python
使用Node.js和Socket.IO扩展Django的实时处理功能
Apr 20 Python
Python利用flask sqlalchemy实现分页效果
Aug 02 Python
python和ruby,我选谁?
Sep 13 Python
Python实现备份MySQL数据库的方法示例
Jan 11 Python
Python实现爬取百度贴吧帖子所有楼层图片的爬虫示例
Apr 26 Python
详解python的argpare和click模块小结
Mar 31 Python
Python字典的概念及常见应用实例详解
Oct 30 Python
如何基于python操作excel并获取内容
Dec 24 Python
Python统计学一数据的概括性度量详解
Mar 03 Python
关于python的缩进规则的知识点详解
Jun 22 Python
python实现马丁策略回测3000只股票的实例代码
Jan 22 Python
Python在线运行代码助手
Jul 15 #Python
python 实现网上商城,转账,存取款等功能的信用卡系统
Jul 15 #Python
python 性能提升的几种方法
Jul 15 #Python
浅谈Python 对象内存占用
Jul 15 #Python
python发送邮件功能实现代码
Jul 15 #Python
Python中列表和元组的使用方法和区别详解
Dec 30 #Python
Python中的变量和作用域详解
Jul 13 #Python
You might like
smarty中post用法实例
2014/11/28 PHP
js压缩利器
2007/02/20 Javascript
Jquery实现网页跳转或用命令打开指定网页的解决方法
2013/07/09 Javascript
让浏览器DOM元素最后加载的js方法
2014/07/29 Javascript
javascript实现确定和取消提示框效果
2015/07/10 Javascript
AngularJS入门教程之ng-class 指令用法
2016/08/01 Javascript
JS公共小方法之判断对象是否为domElement的实例
2016/11/25 Javascript
关于Vue.js 2.0的Vuex 2.0 你需要更新的知识库
2016/11/30 Javascript
js 轮播效果实例分享
2016/12/28 Javascript
javascript显示系统当前时间代码
2016/12/29 Javascript
JS中正则表达式全局匹配模式 /g用法详解
2017/04/01 Javascript
JavaScript限制在客户区可见范围的拖拽(解决scrollLeft和scrollTop的问题)(2)
2017/05/17 Javascript
vue里面父组件修改子组件样式的方法
2018/02/03 Javascript
vue组件实现可搜索下拉框扩展
2020/10/23 Javascript
在vue中解决提示警告 for循环报错的方法
2018/09/28 Javascript
layui 富文本赋值,取值,取纯文本值的实例
2019/09/18 Javascript
通过实例了解Javascript柯里化流程
2020/03/03 Javascript
javascript canvas时钟模拟器
2020/07/13 Javascript
vue vant中picker组件的使用
2020/11/03 Javascript
[41:54]2018DOTA2亚洲邀请赛 4.1 小组赛A组加赛 TNC vs Liquid
2018/04/03 DOTA
浅谈Python类的__getitem__和__setitem__特殊方法
2016/12/25 Python
Python面向对象编程基础解析(一)
2017/10/26 Python
PyCharm无法识别PyQt5的2种解决方法,ModuleNotFoundError: No module named 'pyqt5'
2020/02/17 Python
Django缓存Cache使用详解
2020/11/30 Python
Python之多进程与多线程的使用
2021/02/23 Python
美国在线打印网站:Overnight Prints
2018/10/11 全球购物
一些高难度的SQL面试题
2016/11/29 面试题
Windows和Linux动态库应用异同
2016/04/17 面试题
个人求职简历的自我评价
2013/10/19 职场文书
电子商务网站的创业计划书
2014/01/05 职场文书
财务部副经理岗位职责
2014/03/14 职场文书
计算机网络专业自荐书
2014/06/09 职场文书
教师党的群众路线教育实践活动学习心得体会
2014/10/30 职场文书
工作能力自我评价2015
2015/03/05 职场文书
捐款通知怎么写
2015/04/24 职场文书
检讨书范文
2019/04/16 职场文书