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抓取网页图片示例(python爬虫)
Apr 27 Python
Python命令行参数解析模块optparse使用实例
Apr 13 Python
Python字符串处理函数简明总结
Apr 13 Python
Python打包文件夹的方法小结(zip,tar,tar.gz等)
Sep 18 Python
使用Python设计一个代码统计工具
Apr 04 Python
浅谈Python的list中的选取范围
Nov 12 Python
浅谈Python编程中3个常用的数据结构和算法
Apr 30 Python
梅尔倒谱系数(MFCC)实现
Jun 19 Python
python3 map函数和filter函数详解
Aug 26 Python
python lambda表达式(匿名函数)写法解析
Sep 16 Python
python sorted方法和列表使用解析
Nov 18 Python
python之array赋值技巧分享
Nov 28 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
Fatal error: Call to undefined function curl_init()解决方法
2010/04/09 PHP
Ubuntu下安装PHP的mongodb扩展操作命令
2015/07/04 PHP
php语言中使用json的技巧及json的实现代码详解
2015/10/27 PHP
php 广告点击统计代码(php+mysql)
2018/02/21 PHP
PHP实现获取url地址中顶级域名的方法示例
2019/06/05 PHP
THINKPHP5.1 Config的配置与获取详解
2020/06/08 PHP
分享几种好用的PHP自定义加密函数(可逆/不可逆)
2020/09/15 PHP
javascript css float属性的特殊写法
2008/11/13 Javascript
Mootools 1.2教程 滑动效果(Slide)
2009/09/15 Javascript
jqgrid 简单学习笔记
2011/05/03 Javascript
jquery实现简单的拖拽效果实例兼容所有主流浏览器
2013/06/21 Javascript
深入理解jquery中的事件与动画
2016/05/24 Javascript
AngularJS入门示例之Hello World详解
2017/01/04 Javascript
vue2 如何实现div contenteditable=“true”(类似于v-model)的效果
2017/02/08 Javascript
浅谈vue引入css,less遇到的坑和解决方法
2018/01/20 Javascript
Vue使用mixins实现压缩图片代码
2018/03/14 Javascript
JS 封装父页面子页面交互接口的实例代码
2019/06/25 Javascript
Vue实现点击箭头上下移动效果
2020/06/11 Javascript
node.js如何根据URL返回指定的图片详解
2020/10/21 Javascript
[00:12]2018DOTA2亚洲邀请赛SOLO赛 MidOne是否中单第一人?
2018/04/05 DOTA
Python时间获取及转换知识汇总
2017/01/11 Python
Python pyinotify日志监控系统处理日志的方法
2018/03/08 Python
pandas的object对象转时间对象的方法
2018/04/11 Python
终端命令查看TensorFlow版本号及路径的方法
2018/06/13 Python
python读取Excel实例详解
2018/08/17 Python
np.dot()函数的用法详解
2020/01/17 Python
Python devel安装失败问题解决方案
2020/06/09 Python
详解python变量与数据类型
2020/08/25 Python
不假外出检讨书
2014/01/27 职场文书
安全生产管理责任书
2014/04/16 职场文书
2014年百日安全生产活动总结
2014/05/04 职场文书
节约用水演讲稿
2014/05/21 职场文书
党支部三会一课计划
2014/09/24 职场文书
2014最新党员批评与自我批评材料
2014/09/24 职场文书
努力学习保证书
2015/02/26 职场文书
《勇者辞职不干了》ED主题曲无字幕动画MV公开
2022/04/13 日漫