Python3遍历目录树实现方法

yipeiwu_com6年前Python基础

本文实例讲述了Python3遍历目录树的方法。分享给大家供大家参考。具体实现方法如下:

import os, fnmatch
# 检查一个目录,后者某个包含子目录的目录树,并根据某种模式迭代所有文件
# patterns如:*.html,若大小写敏感可写*.[Hh][Tt][Mm][Ll] 
# single_level 为True表示只检查第一层 
# yield_folders 表示是否显示子目录,为False只遍历子目录中的文件,
# 但不返回字母名 
def all_files(root, patterns='*', single_level=False, yield_folders=False): 
  # 将模式从字符串中取出放入列表中 
  patterns = patterns.split(';') 
  for path, subdirs, files in os.walk(root): 
    if yield_folders: 
      files.extend(subdirs) 
    files.sort() 
    for name in files: 
      for pattern in patterns: 
        if fnmatch.fnmatch(name, pattern): 
          yield os.path.join(path, name) 
          break 
    if single_level: 
      break 
for file in all_files('d:\\pm', '*.s;*.c', False, False):
  print(file) 

希望本文所述对大家的Python3程序设计有所帮助。

相关文章

pip安装Python库时遇到的问题及解决方法

pip安装Python库时遇到的问题及解决方法

笔者电脑系统是win7,同时安装了Python2.7和Python3.6,但是在通过命令行直接使用“pip install XXX”安装Python库时出现了以下的错误信息: Fatal...

简单了解python代码优化小技巧

简单了解python代码优化小技巧

对比以下两种写法,思考一下为何可以这样写。 成绩在 [0,50)、[50,60)、[60,80)、[80,100)、100、其它 score = float(input("请输入你的...

对pandas将dataframe中某列按照条件赋值的实例讲解

在数据处理过程中,经常会出现对某列批量做某些操作,比如dataframe df要对列名为“values”做大于等于30设置为1,小于30设置为0操作,可以这样使用dataframe的ap...

python写一个随机点名软件的实例

python写一个随机点名软件的实例

最近有个随机点名软件的需求,故写了一个,上代码:github地址 # -*- coding: utf-8 -*- # @Time : 18-12-31 下午4:21 # @Auth...

python Django 创建应用过程图示详解

python Django 创建应用过程图示详解

如图输入如下命令 python manage.py startapp apitest 添加应用到 autotest项目项目下 在settings.pyo 中加入“apitest”...