python 带正则的search 模块

glob  是python 提供的一个支持正则表达式的查找文件的模块。

实现上采用了os.listdir() 和 fnmatch.fnmatch().  但是没有真的invoking a subshell.

glob.glob(pathname)

    Return a possibly-empty list of path names that match pathname, which must be a string containing a path specification. pathname can be either absolute (like /usr/src/Python-1.5/Makefile) or relative (like ../../Tools/*/*.gif), and can contain shell-style wildcards. Broken symlinks are included in the results (as in the shell).

关键是,支持了symlinks。

glob 模块主要包含了两个方法:

glob.glob

该方法返回所有匹配的文件路径列表,该方法需要一个参数用来指定匹配的路径字符串(本字符串可以为绝对路径也可以为相对路径),其返回的文件名只包括当前目录里的文件名,不包括子文件夹里的文件。

import glob  

#获取指定目录下的所有图片
print glob.glob(r"E:\Picture\*\*.jpg")  

#获取上级目录的所有.py文件
print glob.glob(r‘../*.py‘) #相对路径  

glob.iglob

获取一个可编历对象,使用它可以逐个获取匹配的文件路径名。与glob.glob()的区别是:glob.glob同时获取所有的匹配路径,而 glob.iglob一次只获取一个匹配路径

import glob  

#父目录中的.py文件
f = glob.iglob(r‘../*.py‘)  

print f #<generator object iglob at 0x00B9FF80>  

for py in f:
    print py  

symlinks , 软链接(符号链接)。 在windows7 系统创建链接:

命令格式:mklink /d(定义参数) \MyDocs(链接文件) \Users\User1\Documents(原文件)

参数详解:

/d:建立目录的符号链接符号链接(symbolic link)
/j:建立目录的软链接(联接)(junction)
/h:建立文件的硬链接(hard link)

给文件创建链接

  mklink targrtFile srcFile

给文件夹创建链接

  mklink /D targetFolder srcFolder

  删除虚拟的链接目录,并不会删除远程文件夹真实文件,注意千万不能用del,del会删除远程的真实文件。

注意:

  1.  dir 符号链接所在的目录时,会看到 这个链接,而且,会给出其具体路径信息。该符号链接的图标和快捷方式很相似,但快捷方式的扩展名是.Ink,而符号链接的文件类型与其目标文件一样。

  2. 由于符号链接本身只是一个链接,所以对符号链接进行修改,会影响到目标文件,反之亦然。如果修改符号链接的属性,例如将其属性设置为隐藏,会同时影响到目标文件。

  3. 如果删除目标文件,访问其符号链接时,Windows总是会试图査找目标文件,所以会报错找不到该文件。如果删除符号链接,则对目标文件没有影响。

时间: 2024-11-07 05:21:42

python 带正则的search 模块的相关文章

Python 入门之 内置模块 -- re模块

Python 入门之 内置模块 -- re模块 1.re 模块 (1)什么是正则? 正则就是用一些具有特殊含义的符号组合到一起(称为正则表达式)来描述字符或者字符串的方法.或者说:正则就是用来描述一类事物的规则.(在Python中)它内嵌在Python中,并通过 re 模块实现.正则表达式模式被编译成一系列的字节码,然后由用 C 编写的匹配引擎执行. 元字符 匹配内容 \w 匹配字母(包含中文)或数字或下划线 \W 匹配非字母(包含中文)或数字或下划线 \s 匹配任意的空白符 \S 匹配任意非空

Python基础第四篇—模块

一.模块 模块,是用一堆代码实现了某个功能的代码集合,模块分为三种:自定义模块(自己定义).内置模块(python自带).开源模块 导入模块 (1).导入一个py文件,解释器解释该py文件 (2).导入一个包,解释器解释该包下的 __init__.py 文件 #模块导入 import module from module.xx import xx from module.xx.xx import * from module.xx.xx import xx as rename #自己给模块定义一个

Python 学习笔记(6)--常用模块(2)

一.下载安装 下载安装有两种方式: yum\pip\apt-get 或者源码 下载源码 解压源码 进入目录 编译源码 python setup.py build 安装源码 python setup.py install 注:在使用源码安装时,需要使用到gcc编译和python开发环境,所以,需要先执行: yum install gcc python-devel 安装成功后,模块会自动安装到 sys.path 中的某个目录中,如: /usr/lib/python2.7/site-packages/

python 解析html文档模块HTMLPaeser

python中,有三个库可以解析html文本,HTMLParser,sgmllib,htmllib.他们的实现方法不通,但功能差不多.这三个库中 提供解析html的类都是基类,本身并不做具体的工作.他们在发现的元件后(如标签.注释.声名等),会调用相应的函数,这些函数必须重载,因为基类中不作处理. 用Python中自带的HTMLPaeser模块,解析下面的HTMl文件 要求:1.获取到每一个漏洞的名称,CVE号,风险值 2.显示每一个漏洞单独显示,不要堆叠在一起 3.只获取高风险的漏洞 <htm

day18 正则和re模块

# 正则# 正则表达式 ---- 通用的 ,处理 字符串# 正则是一种处理文字的规则# 给我们提供一些规则,让我们从杂乱无章的文字中提取有效信息 #模块# 它只是我们使用python去操作一些问题的工具而已,和要操作的这个东西本身是两件事情 # re模块 -- python使用正则# 正则规则 # []在正则里代表字符组 只约束一个字符# 比如[123456789] 没有顺序# 只约束里边其中一个数字 #[字符组]:表示在一个字符的位置可以出现的所有情况中的集合就是一个字符组#表示数字的字符组[

【转】Python之mmap内存映射模块(大文本处理)说明

[转]Python之mmap内存映射模块(大文本处理)说明 背景: 通常在UNIX下面处理文本文件的方法是sed.awk等shell命令,对于处理大文件受CPU,IO等因素影响,对服务器也有一定的压力.关于sed的说明可以看了解sed的工作原理,本文将介绍通过python的mmap模块来实现对大文件的处理,来对比看他们的差异. 说明: mmap是一种虚拟内存映射文件的方法,即将一个文件或者其它对象映射到进程的地址空间,实现文件磁盘地址和进程虚拟地址空间中一段虚拟地址的一一对映关系.关于系统中mm

python 库 、包 、模块

概念: 模块: 模块是一种以.py为后缀的文件,在.py文件中定义了一些常量和函数.模块的名称是该.py文件的名称.模块的名称作为一个全局变量__name__的取值可以被其他模块获取或导入. 模块的导入通过ipmort来实现,导入模块的方式如下: import 特定模块名称 库: Python中的库是借用其他编程语言的概念,没有特别具体的定义,Python库着重强调其功能性.在Python中,具有某些功能的模块和包都可以被称作库.模块有诸多函数组成,包由诸多模块机构化组成,库中也可以包含包.模块

菜鸟学Python Day1.4(导入模块Import、用户交互Raw_input)

导入模块      1.什么是模块? 2.导入模块 Import moduleName   (自带200多个模块,第三方模块上千) Python标准库 如下:导入模块os.system内的的df,查看内存 查看模块os可以导入很多方法os. tab健: 如何加tab健: /usr/lib/python2.7/dist-packages/tab.py   默认第三方库存放位置 Python寻找路径规则: 如果查询不到就会报错, 如何让某一个模块在python任何一个地方都可以导入: ①在sys.p

python爬虫----(1. 基本模块)

python爬虫,web spider.爬取网站获取网页数据,并进行分析提取. 基本模块使用的是 urllib,urllib2,re,等模块 (一)基本用法,例子 (1)进行基本GET请求,获取网页html #!coding=utf-8 import urllib import urllib2 url = 'http://www.baidu.com/' # 获取请求 request = urllib2.Request(url) try:     # 根据request,得到返回response