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