python标准库之glob模块:查找符合特定规则的文件路径名

2021/11/9 9:39:52

本文主要是介绍python标准库之glob模块:查找符合特定规则的文件路径名,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

前言

1、glob模块可以查找符合特定规则的文件路径名,跟使用windows下的文件搜索差不多。

2、查找文件只用到三个匹配符:*,?, []。

①*通配符:匹配0个或多个字符;

②?单个字符通配符:匹配单个字符;

③[]字符范围:匹配指定范围内的字符,如:[0-9]匹配数字。

glob模块的用法

glob.glob

①返回所有匹配的文件路径列表

②只有一个参数 pathname :定义了文件路径匹配规则;可以是绝对路径,可以是相对路径。

代码示例:

import glob

#获取指定目录下的所有图片
print (glob.glob(r"/home/qiaoyunhao/*/*.png"),"\n")#加上r让字符串不转义

#获取上级目录的所有.py文件
print (glob.glob(r'../*.py')) #相对路径

运行结果:

glob.iglob

①获取一个可编历对象,使用它可以逐个获取匹配的文件路径名。

②与 glob.glob()的区别: glob.glob()同时获取所有的匹配路径;而 glob.iglob()一次只获取一个匹配路径。

代码示例:

 

import glob
#父目录中的.py文件
f = glob.iglob(r'../*.py')
print (f) #<generator object iglob at 0x00B9FF80>
for py in f:
    print (py)

运行结果:

查找路径

通配符

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

代码示例

import glob

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

运行结果:

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

单个字符通配符

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

代码示例:

import glob

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

运行结果:

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

字符范围

当需要匹配一个特定的字符,[]表示匹配指定范围内的字符。

代码示例:

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

运行结果:

dir/file1.txt
dir/file2.txt


这篇关于python标准库之glob模块:查找符合特定规则的文件路径名的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程