Python遍历目录的4种方法实例介绍


Posted in Python onApril 13, 2015

1.os.popen运行shell列表命令

def traverseDirByShell(path):

    for f in os.popen('ls ' + path):

        print f.strip()

2.利用glob模块

glob.glob(path)返回带目录的文件名.通配符和shell相似.path不能包含shell变量.

def traverseDirByGlob(path):

    path = os.path.expanduser(path)

    for f in glob(path + '/*'):

        print f.strip()

3.利用os.listdir(推荐)

该方法返回不带根目录的文件名或子目录名

def traverseDirByListdir(path):

    path = os.path.expanduser(path)

    for f in os.listdir(path):

        print f.strip()

4.利用os.walk(推荐)

返回一个包含3个项目的元组:当前目录名称,子目录名称,子文件名称

def traverseDirByOSWalk(path):

    path = os.path.expanduser(path)

    for (dirname, subdir, subfile) in os.walk(path):

        #print('dirname is %s, subdir is %s, subfile is %s' % (dirname, subdir, subfile))

        print('[' + dirname + ']')

        for f in subfile:

            print(os.path.join(dirname, f))

整合代码:
#!/usr/bin/python

import os

from glob import glob


def printSeparator(func):

    def deco(path):

        print("call method %s, result is:" % func.__name__)

        print("-" * 40)

        func(path)

        print("=" * 40)

    return deco
@printSeparator

def traverseDirByShell(path):

    for f in os.popen('ls ' + path):

        print f.strip()
@printSeparator

def traverseDirByGlob(path):

    path = os.path.expanduser(path)

    for f in glob(path + '/*'):

        print f.strip()
@printSeparator

def traverseDirByListdir(path):

    path = os.path.expanduser(path)

    for f in os.listdir(path):

        print f.strip()
@printSeparator

def traverseDirByOSWalk(path):

    path = os.path.expanduser(path)

    for (dirname, subdir, subfile) in os.walk(path):

        #print('dirname is %s, subdir is %s, subfile is %s' % (dirname, subdir, subfile))

        print('[' + dirname + ']')

        for f in subfile:

            print(os.path.join(dirname, f))
if __name__ == '__main__':

    path = r'~/src/py'

    traverseDirByGlob(path)
    traverseDirByGlob(path)
    traverseDirByListdir(path)
    traverseDirByOSWalk(path)
Python 相关文章推荐
python网络编程之数据传输UDP实例分析
May 20 Python
Python内置模块hashlib、hmac与uuid用法分析
Feb 12 Python
matplotlib调整子图间距,调整整体空白的方法
Aug 03 Python
python之super的使用小结
Aug 13 Python
python3.6使用pickle序列化class的方法
Oct 22 Python
Python3 单行多行万能正则匹配方法
Jan 07 Python
详解Numpy数组转置的三种方法T、transpose、swapaxes
May 27 Python
详解Anconda环境下载python包的教程(图形界面+命令行+pycharm安装)
Nov 11 Python
使用Pandas将inf, nan转化成特定的值
Dec 19 Python
通过Python扫描代码关键字并进行预警的实现方法
May 24 Python
keras和tensorflow使用fit_generator 批次训练操作
Jul 03 Python
Python+Pillow+Pytesseract实现验证码识别
May 11 Python
用Python生成器实现微线程编程的教程
Apr 13 #Python
Python字符串处理函数简明总结
Apr 13 #Python
Python日志模块logging简介
Apr 13 #Python
Python命令行参数解析模块optparse使用实例
Apr 13 #Python
初步介绍Python中的pydoc模块和distutils模块
Apr 13 #Python
Python随机生成数模块random使用实例
Apr 13 #Python
Python字典操作简明总结
Apr 13 #Python
You might like
用phpmyadmin更改mysql5.0登录密码
2008/03/25 PHP
ecshop 批量上传(加入自定义属性)
2012/03/20 PHP
openflashchart 2.0 简单案例php版
2012/05/21 PHP
js版本A*寻路算法
2006/12/22 Javascript
网页上的Javascript编辑器和代码格式化
2010/04/25 Javascript
表头固定(利用jquery实现原理介绍)
2012/11/08 Javascript
Jquery中$.post和$.ajax的用法小结
2015/04/28 Javascript
简介JavaScript中Math.LOG10E属性的使用
2015/06/14 Javascript
利用JavaScript脚本实现滚屏效果的方法
2015/07/07 Javascript
javascript中mouseover、mouseout使用详解
2015/07/19 Javascript
简单谈谈javascript Date类型
2015/09/06 Javascript
javascript实现日期时间动态显示示例代码
2015/09/08 Javascript
angular 动态组件类型详解(四种组件类型)
2017/02/22 Javascript
VS Code转换大小写、修改选中文字或代码颜色的方法
2017/12/15 Javascript
解决使用vue.js路由后失效的问题
2018/03/17 Javascript
[50:05]VGJ.S vs OG 2018国际邀请赛淘汰赛BO3 第二场 8.22
2018/08/23 DOTA
Python实现截屏的函数
2015/07/25 Python
浅谈flask截获所有访问及before/after_request修饰器
2018/01/18 Python
Python2实现的图片文本识别功能详解
2018/07/11 Python
ubuntu16.04制作vim和python3的开发环境
2018/09/23 Python
Python:slice与indices的用法
2019/11/25 Python
python 实现提取log文件中的关键句子,并进行统计分析
2019/12/24 Python
Python查找不限层级Json数据中某个key或者value的路径方式
2020/02/27 Python
使用Python项目生成所有依赖包的清单方式
2020/07/13 Python
python os.rename实例用法详解
2020/12/06 Python
Gweniss格温妮丝女包官网:英国纯手工制造潮流包包品牌
2018/02/07 全球购物
New Balance加拿大官方网站:运动鞋和健身服装
2018/11/19 全球购物
Mountain Warehouse德国官网:英国户外零售商
2019/08/11 全球购物
数字天堂软件测试面试题
2012/12/23 面试题
材料采购员岗位职责
2013/12/17 职场文书
《生命的药方》教学反思
2014/04/08 职场文书
基层党员群众路线整改措施及努力方向
2014/10/28 职场文书
2014年度个人工作总结
2014/11/07 职场文书
婚内分居协议书范文
2014/11/26 职场文书
Python机器学习之决策树和随机森林
2021/07/15 Javascript
Mysql中@和@@符号的详细使用指南
2022/06/05 MySQL