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 相关文章推荐
github配置使用指南
Nov 18 Python
深入讨论Python函数的参数的默认值所引发的问题的原因
Mar 30 Python
轻松实现python搭建微信公众平台
Feb 16 Python
利用Python批量生成任意尺寸的图片
Aug 29 Python
Python使用回溯法子集树模板解决迷宫问题示例
Sep 01 Python
python的pip安装以及使用教程
Sep 18 Python
Python实现的银行系统模拟程序完整案例
Apr 12 Python
Dlib+OpenCV深度学习人脸识别的方法示例
May 14 Python
Sublime Text3最新激活注册码分享适用2020最新版 亲测可用
Nov 12 Python
Python读写锁实现实现代码解析
Nov 28 Python
pandas:get_dummies()与pd.factorize()的用法及区别说明
May 21 Python
详解Python+OpenCV进行基础的图像操作
Feb 15 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
双料怀旧--SHARP GF515的维护、修理和简单调试
2021/03/02 无线电
PHP数字和字符串ID互转函数(类似优酷ID)
2014/06/30 PHP
PHP中Closure类的使用方法及详解
2015/10/09 PHP
PHP7 foreach() 函数修改
2021/03/09 PHP
div移动 输入框不能输入的问题
2009/11/19 Javascript
javascript 获取元素位置的快速方法 getBoundingClientRect()
2009/11/26 Javascript
动态调用CSS文件的JS代码
2010/07/29 Javascript
jQuery '行 4954 错误: 不支持该属性或方法' 的问题解决方法
2011/01/19 Javascript
js实现在页面上弹出蒙板技巧简单实用
2013/04/16 Javascript
通过一段代码简单说js中的this的使用
2013/07/23 Javascript
使用JS实现jQuery的addClass, removeClass, hasClass函数功能
2014/10/31 Javascript
浅谈EasyUI中Treegrid节点的删除
2015/03/01 Javascript
JS利用cookie记忆当前位置的防刷新导航效果
2015/10/15 Javascript
分步解析JavaScript实现tab选项卡自动切换功能
2016/01/25 Javascript
详解Angular开发中的登陆与身份验证
2016/07/27 Javascript
JavaScript基于Dom操作实现查找、修改HTML元素的内容及属性的方法
2017/01/20 Javascript
Js实现中国公民身份证号码有效性验证实例代码
2017/05/03 Javascript
微信小程序tabbar不显示解决办法
2017/06/08 Javascript
jQuery实现炫丽的3d旋转星空效果
2018/07/04 jQuery
[01:10]DOTA2次级职业联赛 - U5战队宣传片
2014/12/01 DOTA
AI人工智能 Python实现人机对话
2017/11/13 Python
Python实现京东秒杀功能代码
2019/05/16 Python
python 实现检验33品种数据是否是正态分布
2019/12/09 Python
基于python图像处理API的使用示例
2020/04/03 Python
英国性感内衣和睡衣品牌:Bluebella
2018/01/26 全球购物
法国大使拉杆箱官网:DELSEY Paris
2018/03/20 全球购物
Omio荷兰:预订火车、巴士和机票
2018/11/04 全球购物
一些关于MySql加速和优化的面试题
2014/01/30 面试题
连带责任保证书
2014/04/29 职场文书
运动会入场口号
2014/06/07 职场文书
保护动物的宣传语
2015/07/13 职场文书
办公用品管理制度
2015/08/04 职场文书
导游词之重庆渣滓洞
2020/01/08 职场文书
Python使用sql语句对mysql数据库多条件模糊查询的思路详解
2021/04/12 Python
css filter和getUserMedia的联合使用
2022/02/24 HTML / CSS
java如何实现获取客户端ip地址的示例代码
2022/04/07 Java/Android