介绍

glob的应用场景是要寻找一系列(符合特定规则)文件名。
glob模块是最简单的模块之一,内容非常少。用它可以查找符合特定规则的文件路径名。查找文件只用到三个匹配符:”*”, “?”, “[]”。

  • ”*”匹配0个或多个字符;
  • ”?”匹配单个字符;
  • ”[ ]”匹配指定范围内的字符,如:[0-9]匹配数字。

匹配所有文件和文件夹

  1. for name in glob.glob('./*'):
  2. print (name)
  3. >>>
  4. ./search_file.py
  5. ./scapy_scripy

备注:可以相对匹配或绝对匹配

匹配所有文件夹下的文件或文件夹

for name in glob.glob('../*/*'):
    print (name)

>>>
./scapy_scripy/__init__.py
./scapy_scripy/ping_scan.py
./scapy_scripy/ping_one.py
./scapy_scripy/__pycache__

**

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

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

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

**

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

for name in glob.glob('dir/*[0-9].*'):
    print (name)

>>>
dir/file1.txt
dir/file2.txt