【python】glob模块
2020-05-09 本文已影响0人
我写的BUG代码少
目录
glob模块
glob模块通配符
通配符 | 功能 |
---|---|
* | 匹配0或多个字符 |
** | 匹配路径下 “所有文件的名字”及“所有子目录的文件夹名”(3.5版本新增) |
? | 匹配一个字符,这里与正则表达式? (正则?匹配前面表达式0次或者1次) |
[] | 匹配指定范围内的字符,如: [1-9]匹配1至9内的字符 |
[!] | 匹配不在指定范围内的字符 |
操作
文件import glob
glob.glob('path\\通配符')
'''
文件类型属于文件名的一部分
整体文件名 eg. 3.1.xlsx
'''
通配符 *
- 匹配0或多个字符
glob.glob('C:\\Users\\Cassie\\Desktop\\test\\*')
'''
或
glob.glob('C:\\Users\\Cassie\\Desktop\\test\\*.xlsx')
glob.glob('C:\\Users\\Cassie\\Desktop\\test\\3*')
'''
>>>
['C:\\Users\\Cassie\\Desktop\\test\\3.1.xlsx',
'C:\\Users\\Cassie\\Desktop\\test\\3.2.xlsx',
'C:\\Users\\Cassie\\Desktop\\test\\3.3.xlsx',
'C:\\Users\\Cassie\\Desktop\\test\\3.4.xlsx',
'C:\\Users\\Cassie\\Desktop\\test\\3.5.xlsx']
glob.glob('C:\\Users\\Cassie\\Desktop\\test\\*1*')
'''
或
glob.glob('C:\\Users\\Cassie\\Desktop\\test\\*1.xlsx')
'''
>>>
['C:\\Users\\Cassie\\Desktop\\test\\3.1.xlsx']
通配符 **
- 匹配路径下 “所有文件的名字”及“所有子目录的文件夹名”(3.5版本新增)
glob.glob('C:\\Users\\Cassie\\Desktop\\**')
>>>
['C:\\Users\\Cassie\\Desktop\\desktop.ini',
'C:\\Users\\Cassie\\Desktop\\iterrows.jpg',
'C:\\Users\\Cassie\\Desktop\\TEMP',
'C:\\Users\\Cassie\\Desktop\\test',
'C:\\Users\\Cassie\\Desktop\\在职证明.docx',
'C:\\Users\\Cassie\\Desktop\\正则指引.pdf']
glob.glob('C:\\Users\\Cassie\\Desktop\\test\\**') #路径+**
>>>
['C:\\Users\\Cassie\\Desktop\\test\\3.1.xlsx',
'C:\\Users\\Cassie\\Desktop\\test\\3.2.xlsx',
'C:\\Users\\Cassie\\Desktop\\test\\3.3.xlsx',
'C:\\Users\\Cassie\\Desktop\\test\\3.4.xlsx',
'C:\\Users\\Cassie\\Desktop\\test\\3.5.xlsx']
通配符 ?
- 匹配一个字符,这里与正则表达式? (正则?匹配前面表达式0次或者1次)
glob.glob('C:\\Users\\Cassie\\Desktop\\test\\???.xlsx')
'''
或
glob.glob('C:\\Users\\Cassie\\Desktop\\test\\3.?.xlsx')
'''
>>>
['C:\\Users\\Cassie\\Desktop\\test\\3.1.xlsx',
'C:\\Users\\Cassie\\Desktop\\test\\3.2.xlsx',
'C:\\Users\\Cassie\\Desktop\\test\\3.3.xlsx',
'C:\\Users\\Cassie\\Desktop\\test\\3.4.xlsx',
'C:\\Users\\Cassie\\Desktop\\test\\3.5.xlsx']
glob.glob('C:\\Users\\Cassie\\Desktop\\test\\?.1.xlsx')
'''
glob.glob('C:\\Users\\Cassie\\Desktop\\test\\?.1*')
'''
>>>
['C:\\Users\\Cassie\\Desktop\\test\\3.1.xlsx']
通配符 []
- 匹配指定范围内的字符,如: [1-9]匹配1至9内的字符
glob.glob('C:\\Users\\Cassie\\Desktop\\test\\3.[1-3].xlsx')
'''
或
glob.glob('C:\\Users\\Cassie\\Desktop\\test\\*[1-3].xlsx')
'''
>>>
['C:\\Users\\Cassie\\Desktop\\test\\3.1.xlsx',
'C:\\Users\\Cassie\\Desktop\\test\\3.2.xlsx',
'C:\\Users\\Cassie\\Desktop\\test\\3.3.xlsx']
通配符 [!]
- 匹配不在指定范围内的字符
glob.glob('C:\\Users\\Cassie\\Desktop\\test\\*[!1-3].xlsx')
>>>
['C:\\Users\\Cassie\\Desktop\\test\\3.4.xlsx',
'C:\\Users\\Cassie\\Desktop\\test\\3.5.xlsx']