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实现数通设备端口监控示例
Apr 02 Python
Python中使用动态变量名的方法
May 06 Python
python网络编程之读取网站根目录实例
Sep 30 Python
Python挑选文件夹里宽大于300图片的方法
Mar 05 Python
分析用Python脚本关闭文件操作的机制
Jun 28 Python
实例讲解Python的函数闭包使用中应注意的问题
Jun 20 Python
python里使用正则的findall函数的实例详解
Oct 19 Python
python 实现保存最新的三份文件,其余的都删掉
Dec 22 Python
举例讲解Python装饰器
Dec 24 Python
python调用百度AI接口实现人流量统计
Feb 03 Python
学会用Python实现滑雪小游戏,再也不用去北海道啦
May 20 Python
利用python Pandas实现批量拆分Excel与合并Excel
May 23 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
判断是否为指定长度内字符串的php函数
2010/02/16 PHP
php中的一些数组排序方法分享
2012/07/20 PHP
PHP垃圾回收机制引用计数器概念分析
2013/06/24 PHP
ThinkPHP多语言支持与多模板支持概述
2014/08/22 PHP
php代码检查代理ip的有效性
2016/08/19 PHP
laravel5.1框架model类查询的实现方法
2019/10/08 PHP
Nigma vs Alliance BO5 第三场2.14
2021/03/10 DOTA
jQuery 版本的文本输入框检查器Input Check
2009/07/09 Javascript
什么是JavaScript
2009/08/13 Javascript
用js正确判断用户名cookie是否存在的方法
2014/01/28 Javascript
javascript 寻找错误方法整理
2014/06/15 Javascript
js实现键盘控制DIV移动的方法
2015/01/10 Javascript
jQuery中extend()和fn.extend()方法详解
2015/06/03 Javascript
Vue组件BootPage实现简单的分页功能
2016/09/12 Javascript
jquery自定义插件结合baiduTemplate.js实现异步刷新(附源码)
2016/12/22 Javascript
nodejs获取微信小程序带参数二维码实现代码
2017/04/12 NodeJs
简单实现JavaScript弹幕效果
2020/08/27 Javascript
vue系列之动态路由详解【原创】
2017/09/10 Javascript
jQuery实现的淡入淡出图片轮播效果示例
2018/08/29 jQuery
vue响应式更新机制及不使用框架实现简单的数据双向绑定问题
2019/06/27 Javascript
Js跳出两级循环方法代码实例
2020/09/22 Javascript
使用python编写批量卸载手机中安装的android应用脚本
2014/07/21 Python
Python在线运行代码助手
2016/07/15 Python
Python常用算法学习基础教程
2017/04/13 Python
python爬取基于m3u8协议的ts文件并合并
2019/04/26 Python
pyqt5 删除layout中的所有widget方法
2019/06/25 Python
python pandas时序处理相关功能详解
2019/07/03 Python
python转化excel数字日期为标准日期操作
2020/07/14 Python
pandas抽取行列数据的几种方法
2020/12/13 Python
Html5 实现微信分享及自定义内容的流程
2019/08/20 HTML / CSS
简易离婚协议书(范本)
2014/10/25 职场文书
2014年社区工会工作总结
2014/12/18 职场文书
党员活动总结
2015/02/04 职场文书
2015年度企业工作总结
2015/05/21 职场文书
上班旷工检讨书
2015/08/15 职场文书
python垃圾回收机制原理分析
2022/04/13 Python