python标准库之glob介绍

 glob 文件名模式匹配,不用遍历整个目录判断每个文件是不是符合。

1、通配符

星号(*)匹配零个或多个字符

 1 import glob
 2 for name in glob.glob('dir/*'):
 3     print (name)
 4 
 5 dir/file.txt
 6 dir/file1.txt
 7 dir/file2.txt
 8 dir/filea.txt
 9 dir/fileb.txt
10 dir/subdir

列出子目录中的文件,必须在模式中包括子目录名:

 1 import glob
 2 
 3 #用子目录查询文件
 4 print ('Named explicitly:')
 5 for name in glob.glob('dir/subdir/*'):
 6     print ('\t', name)
 7 #用通配符* 代替子目录名
 8 print ('Named with wildcard:')
 9 for name in glob.glob('dir/*/*'):
10     print ('\t', name)
Named explicitly:
        dir/subdir/subfile.txt
Named with wildcard:
        dir/subdir/subfile.txt

2、单个字符通配符

用问号(?)匹配任何单个的字符。

import glob

for name in glob.glob('dir/file?.txt'):
    print (name)


dir/file1.txt
dir/file2.txt
dir/filea.txt
dir/fileb.txt

3、字符范围

当需要匹配一个特定的字符,可以使用一个范围

1 import glob
2 for name in glob.glob('dir/*[0-9].*'):
3     print (name)
4 
5 
6 dir/file1.txt
7 dir/file2.txt

 

posted @ 2020-05-19 09:37  G1733  阅读(466)  评论(0编辑  收藏  举报