获取特定文件路径的函数glob.glob()

来源:互联网 发布:淘宝企业店铺罚款 编辑:程序博客网 时间:2024/06/07 17:39

《Head First Python》中有两句代码,如下:

data_files = glob.glob("data/*.txt")athletes = athletemodel.put_to_store(data_files)

他的作用是要将data目录下所有的txt文件逐一读取并存储为athlete类的实例。glob.glob("data/*.txt")的作用就是返回txt文件的路径。

下面是官方文档说明:

The glob module finds all the pathnames matching a specified pattern according to the rules used by the Unix shell. No tilde expansion is done, but *, ?, and character ranges expressed with [] will be correctly matched. This is done by using the os.listdir() and fnmatch.fnmatch() functions in concert, and not by actually invoking a subshell. (For tilde and shell variable expansion, use os.path.expanduser() and os.path.expandvars().)

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).

glob.iglob(pathname)

Return an iterator which yields the same values as glob() without actually storing them all simultaneously.

For example,

consider a directory containing only the following files: 1.gif, 2.txt, and card.gif. glob() will produce the following results. Notice how any leading components of the path are preserved.

>>> import glob>>> glob.glob('./[0-9].*')['./1.gif', './2.txt']>>> glob.glob('*.gif')['1.gif', 'card.gif']>>> glob.glob('?.gif')['1.gif']
0 0
原创粉丝点击