Toccata in Nowhere.

Python Globbing 通配符

2019.11.05

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>