`
lichuanbao
  • 浏览: 127244 次
  • 性别: 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 读写TXT文件

    初学python 分享一个小程序:python 如何写入TXT文件!

    IDAPython 初学者指南

    IDAPython 初学者指南 IDAPython 初学者指南 IDAPython 初学者指南

    Python安装文件 Python 3.8

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

    Python编程初学者指南.pdf

    Python编程初学者指南.pdf

    适合初学者的python简明教程

    本教程“适合初学者的Python简明教程”是2017年更新版,旨在为Python初学者提供一个清晰且全面的学习路径。教程内容可能包括以下几个方面: 1. **Python基础**:首先介绍Python的安装和环境配置,然后讲解Python的...

    PYTHON编程初学者指南

    内容提要: 本书是为Python初学者量身打造的一本书,其特色在于通过众多较小的、有趣的游戏编程实例来教授Python编程知识,让学习Python的过程充满了乐趣。本书详细介绍了Python类型、变量、I/O,流程控制,循环,...

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

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

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

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

    python2.5.1初学者实用.zip

    Python 2.5.1是Python编程语言的一个早期版本,主要针对初学者设计,具有简单易学的特点。这个压缩包“python2.5.1初学者实用.zip”显然是为那些刚开始接触Python编程的人准备的,它包含了一切必要的组件,帮助用户...

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

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

    python安装文件

    2. **添加Python到PATH**:在安装过程中,有一个选项是“Add Python to PATH”。选中这一项,可以让你在命令行中无需指定完整路径就能直接运行Python。这是推荐的选择,因为它使得Python更加方便地被系统识别。 3. ...

    初学python1

    Python 2.7是Python 2系列的一个重要版本,虽然现在Python 3已经更为流行,但2.7仍然被广泛使用,特别是对于初学者来说。 在Python 2.7中,输出通常通过`print`函数实现。例如,输出"Hello World"可以写作`print '...

    python的一些编写代码,初学者

    python代码python的一些编写代码,初学者python的一些编写代码,初学者

    初学python实现银行管理系统

    对于初学者的银行管理系统,本人是个初学Python的菜鸟,因某些原因要写一个银行管理系统基于这些需求我写出了这个程序,希望大佬们对我的代码给予批评和指正

    python 3.4 32bit windows环境 开发包 exe转换器 全

    这个压缩包可能包含一个或多个exe转换器,如PyInstaller或cx_Freeze,这些工具可以将Python源代码转换为独立的Windows可执行文件,无需目标机器上安装Python环境也能运行。转换过程通常涉及分析Python代码的依赖关系...

    基于Python的初学者友好型前端与后端设计源码

    整个项目包含667个文件,涵盖278个JSON配置文件、85个Python字节码文件、74个文本文件、54个Python源代码文件、42个日志文件、29个XML文件、20个YAML文件、20个JavaScript文件、11个CSV文件、10个HTML文件和少量其他...

    适合初学者只看这一篇就够了-vscode+python环境搭建和配置

    创建一个新的文件夹作为工作目录,并在VScode中打开这个文件夹。这个文件夹专门用于Python项目,后面的设置配置也是在这个文件夹里生效。 五、配置launch.json文件 在launch.json文件中添加Python的路径和其他配置...

    PYTHON编程初学者指南=PYTHON PROGRAMMING THRID EDITION

    本书是为Python初学者量身打造的一本书,其特色在于通过众多较小的、有趣的游戏编程实例来教授Python编程知识,让学习Python的过程充满了乐趣。本书详细介绍了Python类型、变量、I/O,流程控制,循环,字符串,列表...

Global site tag (gtag.js) - Google Analytics