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会列出所有的文件名的列表,包括文件夹,但是不包含路径的,需要自己进行匹配和过滤。
来源:https://www.cnblogs.com/chybot/p/4557709.html