`
lichuanbao
  • 浏览: 127434 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

初学python,一个文件过滤器,请拍砖。

阅读更多
#/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 3.8

    Python是一种广泛使用的高级编程语言,以其易读性、简洁的语法和强大的功能而闻名。Python 3.8是Python语言的一个重要版本,它...无论是初学者还是经验丰富的开发者,Python 3.8都将为你提供一个高效、优雅的编程环境。

    初学python读写ini文件pyini.py

    简单python读取ini文件的例子,初学的可以参考下。本程序为可以执行的源程序,需要的话自己写成一个类方便调用。

    初学python

    初学python教程,教你怎么创建python。适合初学者、适合初学者、适合初学者

    Python-适合初学者Python程序员的小型简单编辑器用Python和Qt5编写

    标题中的“Python-适合初学者Python程序员的小型简单编辑器用Python和Qt5编写”指出,这个项目是一个专为Python初学者设计的编辑器。它使用了Python编程语言以及Qt5库来构建,Qt5是一个功能强大的跨平台应用程序开发...

    Python初学教程:《简明Python教程》.zip_python_python初学_python初学教程_python教程_

    《简明Python教程》是一个适合初学者的入门资源,它旨在帮助你快速理解Python的基本语法、数据结构、控制流以及函数等核心概念。这个教程包含了丰富的实例和练习,使你在实践中更好地掌握Python编程。 1. **Python...

    Python编程初学者指南.pdf

    Python编程初学者指南.pdf

    so编写和Python调用.so文件

    本教程聚焦于如何在Linux环境下使用C++编写`.so`动态链接库,并通过Python进行调用,这对于初学者来说是一个很好的实践项目。`.so`文件是Linux系统中的动态链接库,它包含可被其他程序共享的函数和数据。 首先,...

    《Python编程》源代码文件

    这个12M的压缩包是一个全面的学习资源,每个文件都代表了一个具体的编程概念或技巧。通过阅读和运行这些源代码,你将能够深化对Python的理解,提升编程技能,并且能够解决实际问题。无论是初学者还是有经验的开发者...

    python-备份文件

    该脚本是用python编写,用于对每日文件进行压缩备份存放,适用于初学者,望多指教~

    基于python与Flask的文件管理系统

    基于python与Flask的文件管理系统,主要功能有: 1、文件的上传和下载 2、消息发送和恢复 3、文件信息的增删改查 4、系统的登录和注册 使用的是mysql数据库,适合初学者下载使用。

    Python初学者-适合新手小白学习python练手的demo源码

    总之,"Python初学者-适合新手小白学习python练手的demo源码"是一个宝贵的资源,它为初学者提供了一个良好的学习平台,通过实际操作来巩固理论知识,是快速提升Python编程能力的有效途径。在学习过程中,不断练习和...

    python编程初学者指南源代码

    Python的另一个强大之处在于其丰富的标准库和第三方库。在源代码中,可能会涉及到如os、sys、math、random等标准库,以及requests(网络请求)、numpy(数值计算)、pandas(数据分析)等常用第三方库。学习如何导入...

    通过python爬虫批量下载PDF文件

    在Python编程领域,爬虫是一种常见的技术,...对于初学者,这是一个很好的学习项目,可以加深对Python网络编程和数据抓取的理解。同时,对于教育行业的工作者,这样的工具可以方便地收集和整理教育资源,提高工作效率。

    python 编辑器 包含ulipad及其关联文件

    总之,ulipad是一个适用于初学者和简单项目的Python编辑器,通过合理的配置和插件使用,也可以满足部分高级用户的需要。如果你正在寻找一个轻量级且易于上手的Python编辑器,ulipad值得一试。同时,理解其关联文件的...

    python适合初学者的书籍

    Python是一种广泛使用的高级编程语言,...无论你是完全的编程新手,还是希望转行到IT领域的专业人士,这本书都是一个不错的起点。所以,赶快下载这本"Python语言入门",开始你的Python编程之旅吧!Come on, go go go!

    python初学,python语法,python循环结构使用

    python初学,python语法,python循环结构使用

    python初学者的资料

    Python是一种广泛应用于数据分析、Web开发、人工智能等多个领域的高级编程语言,因其语法简洁、易读性强,被誉为“胶水语言”,适合初学者入门。本资源包是专为Python初学者准备的,旨在帮助你们快速掌握这门强大的...

    python初学程序示例

    "python初学程序示例"这个资源就是一个极好的起点,它包含了一系列为新手设计的代码实例。下面,我们将深入探讨这些可能包含的知识点,以及如何从这些示例中学习。 1. **基础语法**: Python以其简洁明了的语法而...

Global site tag (gtag.js) - Google Analytics