您的位置:首页 > 编程语言 > Python开发

python学习笔记glob模块

2015-06-07 09:22 656 查看
python有许多的类库,现将学习记录下来,以供以后回顾复习:

1.glob模块

用于文件名操作,匹配指定目录下的文件,返回的是目录加文件名,常用的有两个函数:

glob(pattern),返回匹配的文件的列表。

iglob(pattern),返回生成器,可以遍历匹配的文件。

示例代码:

glob()
bogon:datasets xuguoqiang$ ls
matrixA.txt    matrixB.txt    test        words.txt
files = glob.glob('*.txt')
>>> for file in files:
...      print file
matrixA.txt
matrixB.txt
words.txt
>>> print files
['matrixA.txt', 'matrixB.txt', 'words.txt']


iglob():
>>> files = glob.iglob('*.txt')
>>> print files
<generator object iglob at 0x1101d9dc0>
>>> for file in files:
...     print file
matrixA.txt
matrixB.txt
words.txt


指定相对路径的结果
>>> import glob
>>> print glob.glob(r'../*.txt')
['../test.txt']


可以看出如果pattern指定为相对路径或绝对路径,返回的文件也会是相对路径或绝对路径。根据实际需要使用。

注意glob使用的通配符:

1、glob使用的通配符只有三个,分别是 * ? []

2、在glob中,* ? 匹配的是字符,而在emeditor中匹配的是数量。

3、在glob中,不包括用[!...],而在emedior中不包括则用[^...]

补充,使用os的listdir也可以得到类似的结果:

>>> import os
>>> dir = r'./'
>>> print os.listdir(dir)
['matrixA.txt', 'matrixB.txt', 'test', 'words.txt']


区别在于,listdir会列出所有的文件名的列表,包括文件夹,但是不包含路径的,需要自己进行匹配和过滤。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: