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实现爬虫下载漫画示例
Feb 16 Python
python通过get,post方式发送http请求和接收http响应的方法
May 26 Python
Python深度优先算法生成迷宫
Jan 22 Python
Python使用正则表达式分割字符串的实现方法
Jul 16 Python
使用pyshp包进行shapefile文件修改的例子
Dec 06 Python
Python使用jpype模块调用jar包过程解析
Jul 29 Python
Python3爬虫中识别图形验证码的实例讲解
Jul 30 Python
python实现单机五子棋
Aug 28 Python
python批量检查两个对应的txt文件的行数是否一致的实例代码
Oct 31 Python
python实现图片,视频人脸识别(dlib版)
Nov 18 Python
Python图像处理之膨胀与腐蚀的操作
Feb 07 Python
python基于tkinter制作m3u8视频下载工具
Apr 24 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
Drupal简体中文语言包安装教程
2014/09/27 PHP
PHP实现抓取迅雷VIP账号的方法
2015/07/30 PHP
PHP自定义错误处理的方法分析
2018/12/19 PHP
javascript 播放器 控制
2007/01/22 Javascript
setTimeout和setInterval的浏览器兼容性分析
2007/02/27 Javascript
html+css+js实现xp window界面及有关功能
2013/03/26 Javascript
基于jquery插件制作左右按钮与标题文字图片切换效果
2013/11/07 Javascript
js判断设备是否为PC并调整图片大小
2014/02/12 Javascript
ECMAScript中函数function类型
2015/06/03 Javascript
javascript跨域方法、原理以及出现问题解决方法(详解)
2015/08/06 Javascript
vue.js入门教程之计算属性
2016/09/01 Javascript
原生js实现电商侧边导航效果
2017/01/19 Javascript
ES6 javascript中class静态方法、属性与实例属性用法示例
2017/10/30 Javascript
[02:10]三分钟回顾完美世界城市挑战赛
2019/01/24 DOTA
[03:55]TI9战队采访——TNC Predator
2019/08/22 DOTA
python利用hook技术破解https的实例代码
2013/03/25 Python
Python统计列表中的重复项出现的次数的方法
2014/08/18 Python
django2 快速安装指南分享
2018/01/05 Python
浅谈python中拼接路径os.path.join斜杠的问题
2018/10/23 Python
python中for循环输出列表索引与对应的值方法
2018/11/07 Python
从列表或字典创建Pandas的DataFrame对象的方法
2019/07/06 Python
Python中PyQt5/PySide2的按钮控件使用实例
2019/08/17 Python
python利用dlib获取人脸的68个landmark
2019/11/27 Python
在django admin详情表单显示中添加自定义控件的实现
2020/03/11 Python
Python Tkinter图形工具使用方法及实例解析
2020/06/15 Python
python输入中文的实例方法
2020/09/14 Python
迪士尼英国官方商店:shopDisney UK
2019/09/21 全球购物
.net开发工程师面试题
2014/02/25 面试题
电子商务专业个人的自我评价
2013/11/19 职场文书
初一地理教学反思
2014/01/16 职场文书
高中军训感言500字
2014/02/24 职场文书
仓库管理计划书
2014/05/04 职场文书
2014年民主评议党员个人总结
2014/09/24 职场文书
你会写报告?产品体验报告到底该怎么写?
2019/08/14 职场文书
在CSS中映射鼠标位置并实现通过鼠标移动控制页面元素效果(实例代码)
2021/04/22 HTML / CSS
MySQL笔记 —SQL运算符
2022/01/18 MySQL