glob 模式(globbing)也被称之为shell 通配符,用以Unix通配匹配文件,这里使用Python。
glob
库
import glob
使用
glob(pathname, recursive=False)
第一个参数pathname为需要匹配的字符串。(该参数应尽量加上r前缀,以免发生不必要的错误) 第二个参数代表递归调用,与特殊通配符“**”一同使用,默认为False。 该函数返回一个符合条件的路径的字符串列表,如果使用的是Windows系统,路径上的“\”符号会自动加上转义符号变为“\”。
iglob(pathname, recursive=False)
参数与glob()一致。 返回一个迭代器,该迭代器不会同时保存所有匹配到的路径,而是逐个获取匹配的文件路径名,遍历该迭代器的结果与使用相同参数调用glob()的返回结果一致。
支持的通配符
通配符 | 功能 |
---|---|
* |
匹配0或多个字符 |
** |
匹配所有文件、目录、子目录和子目录里的文件(3.5版本新增) |
? |
匹配1个字符,与正则表达式里的?不同 |
[exp] |
匹配指定范围内的字符,如:[1-9] 匹配1至9范围内的字符 |
[!exp] |
匹配不在指定范围内的字符 |
读取完全列表后再判断
import numpy as np
import os
path = "path of the directory/"
file_list = os.listdir(path)
for file_name in file_list:
if file_name.endswith('some word such as .sac'):
with open(path + file_name, 'r') as file:
<file process>