#/usr/bin/env python
#-*- encoding:utf-8 -*-
#Filename:file_filter.py
#作用:接收用户指定的目录和正则表达式,返回目录中符合规定条件的文件的列表
import os
import fnmatch
class file_filter:
"""文件过滤器:接收用户指定的目录和正则表达式,返回目录中符合规定条件的文件的列表"""
#类初始化的方法,类似于java中的构造器
def __init__(self):
pass
#self参数是为了本类的实例可以调用这个方法
def filter(self,dir,regex):
#保存该目录下符合条件的文件列表
_files = [];
try:
for f in os.listdir(dir):
if fnmatch.fnmatch(f,regex):
_files.append(f)
except Exception, e:
print 'Error while list [%s] ,msg: %s' % (dir,e)
finally:
pass
return _files
#可以传入一个保存文件名称正则的列表,本方法会遍历指定的目录,并返回这些符合条件的文件
def filter_multi_regex(self,dir,regexes):
_files = []
try:
_all_files = os.listdir(dir)
if len(_all_files) > 0:
print 'there are %d files totaly' % len(_all_files)
#为了实现这个功能使用了双层循环,这个不经济啊
for reg in regexes:
for tmp in fnmatch.filter(_all_files,reg):
_files.append(tmp)
except Exception, e:
print 'Error while list [%s] ,msg: %s' % (dir,e)
finally:
pass
return _files
ff = file_filter()
if __name__ == '__main__':
#打印模块的说明文档
#print ff.__doc__
testdir = '/home/licb/documents/shells'
testreg = '*.sh'
testreglist = ['*.txt','*.sh']
#_files = ff.filter(testdir,testreg)
_files = ff.filter_multi_regex(testdir,testreglist)
if len(_files) > 0:
for f in _files:
print os.path.abspath(f)
else:
print '''"%s" is a empty dir or there is no file like "%s"''' % (testdir,testreg)
分享到:
相关推荐
初学python 分享一个小程序:python 如何写入TXT文件!
IDAPython 初学者指南 IDAPython 初学者指南 IDAPython 初学者指南
Python初学者学习道路Python初学者学习道路Python初学者学习道路Python初学者学习道路Python初学者学习道路Python初学者学习道路Python初学者学习道路Python初学者学习道路Python初学者学习道路Python初学者学习道路...
简单python读取ini文件的例子,初学的可以参考下。本程序为可以执行的源程序,需要的话自己写成一个类方便调用。
初学python教程,教你怎么创建python。适合初学者、适合初学者、适合初学者
本教程简单明了,易于理解,是入门佳品 Swaroop C. H.的这本书是我学习Python时的第一本教材。...在第一次读本书的时候,我就深切的感到这是给Python初学者的一本极佳教材,应该是每一位Python初学者的第一本教材
Python编程初学者指南.pdf
内容提要: 本书是为Python初学者量身打造的一本书,其特色在于通过众多较小的、有趣的游戏编程实例来教授Python编程知识,让学习Python的过程充满了乐趣。本书详细介绍了Python类型、变量、I/O,流程控制,循环,...
基于python与Flask的文件管理系统,主要功能有: 1、文件的上传和下载 2、消息发送和恢复 3、文件信息的增删改查 4、系统的登录和注册 使用的是mysql数据库,适合初学者下载使用。
该脚本是用python编写,用于对每日文件进行压缩备份存放,适用于初学者,望多指教~
python 初学教程,关于python入门的知识
Python初学者资料大全
对于初学者的银行管理系统,本人是个初学Python的菜鸟,因某些原因要写一个银行管理系统基于这些需求我写出了这个程序,希望大佬们对我的代码给予批评和指正
Python初学教程:《简明Python教程》
python代码python的一些编写代码,初学者python的一些编写代码,初学者
初学python的体会心得
本书是为Python初学者量身打造的一本书,其特色在于通过众多较小的、有趣的游戏编程实例来教授Python编程知识,让学习Python的过程充满了乐趣。本书详细介绍了Python类型、变量、I/O,流程控制,循环,字符串,列表...
这是我初学Python时的练习,有题目,有代码,适合初学者练习
Python编程初学者指南,好好学习Python,Day day up。 天天向上。