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二维码生成库qrcode安装和使用示例
Dec 16 Python
Python实现Sqlite将字段当做索引进行查询的方法
Jul 21 Python
python一键升级所有pip package的方法
Jan 16 Python
Python使用plotly绘制数据图表的方法
Jul 18 Python
python中模块的__all__属性详解
Oct 26 Python
Python内置函数delattr的具体用法
Nov 23 Python
对python 判断数字是否小于0的方法详解
Jan 26 Python
pyqt远程批量执行Linux命令程序的方法
Feb 14 Python
Python实现京东秒杀功能代码
May 16 Python
微信公众号token验证失败解决方案
Jul 22 Python
python图形用户接口实例详解
Dec 16 Python
python import 上级目录的导入
Nov 03 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
Session的工作方式
2006/10/09 PHP
PHP添加MySQL数据记录代码
2008/06/07 PHP
PHP与C#分别格式化文件大小的代码
2011/05/14 PHP
深入分析php中接口与抽象类的区别
2013/06/08 PHP
示例详解Laravel的注册重构
2016/08/14 PHP
Laravel框架之解决前端显示图片问题
2019/10/24 PHP
JS实多级联动下拉菜单类,简单实现省市区联动菜单!
2007/05/03 Javascript
非常不错的功能强大代码简单的管理菜单美化版
2008/07/09 Javascript
JavaScript学习笔记记录我的旅程
2012/05/23 Javascript
js Math 对象的方法
2013/09/01 Javascript
jQuery中scrollTop()方法用法实例
2015/01/16 Javascript
基于jquery ui的alert,confirm方案(支持换肤)
2015/04/03 Javascript
JavaScript实现级联菜单的方法
2015/06/29 Javascript
JavaScript实现表格快速变色效果代码
2015/08/19 Javascript
Angular.js初始化之ng-app的自动绑定与手动绑定详解
2017/07/31 Javascript
基于js粘贴事件paste简单解析以及遇到的坑
2017/09/07 Javascript
对vue中v-on绑定自定事件的实例讲解
2018/09/06 Javascript
vue props传值失败 输出undefined的解决方法
2018/09/11 Javascript
JS栈stack类的实现与使用方法示例
2019/01/31 Javascript
Vue之beforeEach非登录不能访问的实现(代码亲测)
2019/07/18 Javascript
js实现点击图片在屏幕中间弹出放大效果
2019/09/11 Javascript
Ubuntu下安装PyV8
2016/03/13 Python
Pytorch入门之mnist分类实例
2018/04/14 Python
Django处理文件上传File Uploads的实例
2018/05/28 Python
零基础使用Python读写处理Excel表格的方法
2019/05/02 Python
Python利用requests模块下载图片实例代码
2019/08/12 Python
基于Python计算圆周率pi代码实例
2020/03/25 Python
CSS3实现swap交换动画
2016/01/19 HTML / CSS
利用CSS3实现开门效果实例源码
2016/08/22 HTML / CSS
iHerb台湾:维生素、保健品和健康产品
2018/01/31 全球购物
质量月口号
2014/06/20 职场文书
2014会计年终工作总结
2014/12/20 职场文书
社区植树节活动总结
2015/02/06 职场文书
医院见习总结
2015/06/24 职场文书
2016年教师反腐倡廉心得体会
2016/01/13 职场文书
担保书范文
2019/07/09 职场文书