首页 > 代码库 > python 带正则的search 模块

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总是会试图査找目标文件,所以会报错找不到该文件。如果删除符号链接,则对目标文件没有影响。

 

python 带正则的search 模块