python使用glob检索文件的操作

作者:z小白 时间:2022-04-26 19:05:49 

一、检索当前目录下所有文件、文件夹


from glob import glob
glob('./*')
Output: ['./0a.wav', './aaa', './1b.wav', './1a.wav', './0b.wav'] #返回一个list

二、检索当前目录下指定后缀名文件

假设我们需要获取当前文件夹下所有后缀名为".wav"的文件,


from glob import glob
glob('./*.wav')
Output: ['./0a.wav', './1b.wav', './1a.wav', './0b.wav'] #返回一个包含".wav"文件路径的list

二、检索当前目录下包含指定字符文件

假设我们需要获得所有包含"a"字符的".wav"文件,


from glob import glob
glob('./*a*.wav')
Output: ['./0a.wav', './1a.wav'] #返回一个包含".wav"文件路径的list

补充:Python 中的glob模块使用笔记(用它来遍历文件夹、文件真的很方便)

glob模块简介

glob是python自己带的一个文件操作相关模块,用它可以查找符合自己目的的文件,就类似于Windows下的文件搜索,支持通配符操作。

glob中支持的通配符有三种:

‘*' 匹配0个或多个字符
‘?' 仅匹配一个字符
‘[]' 匹配指定范围内的字符,如[0-9]匹配数字

用图片中的文件夹作为例子进行演示

python使用glob检索文件的操作

一、glob.glob的使用:

该方法返回所有匹配的文件路径列表。

该方法需要一个参数用来指定要匹配的文件路径(字符串类型)绝对路径、相对路径。

1.匹配某指定路径下后缀为.exe的文件(绝对路径)


In:
from glob import glob

file = glob(r'D:\masm\*.EXE')
print(type(file))
print(file)

Out:
<class 'list'>
['D:\\masm\\CREF.EXE', 'D:\\masm\\debug.exe',
'D:\\masm\\DEBUG32.EXE', 'D:\\masm\\ERROUT.EXE',
 'D:\\masm\\EXEMOD.EXE', 'D:\\masm\\EXEPACK.EXE',
  'D:\\masm\\LIB.EXE', 'D:\\masm\\LINK.EXE',
   'D:\\masm\\MASM.EXE', 'D:\\masm\\SETENV.EXE',
    'D:\\masm\\TEST2.EXE', 'D:\\masm\\TEST3.EXE',
     'D:\\masm\\TEST4.EXE', 'D:\\masm\\TEST5.EXE',
      'D:\\masm\\TEST6.EXE']

2.匹配某指定路径下的所有文件(绝对路径)


In:
from glob import glob

file = glob(r'D:\masm\*\*')
print(type(file))
print(file)

Out:
<class 'list'>
['D:\\masm\\work\\hello.asm', 'D:\\masm\\work\\HELLO.OBJ',
'D:\\masm\\work\\test1.asm', 'D:\\masm\\work\\TEST1.OBJ',
 'D:\\masm\\work\\test2.asm', 'D:\\masm\\work\\TEST2.OBJ',
 'D:\\masm\\work\\test3.asm', 'D:\\masm\\work\\TEST3.OBJ',
  'D:\\masm\\work\\test4.asm', 'D:\\masm\\work\\TEST4.OBJ',
  'D:\\masm\\work\\two']

3.使用相对路径来进行匹配

'.' 指代当前目录

'. . ' 指代当前目录的上一级目录


In:
from glob import glob

file = glob(r'..\*')
print(type(file))
print(file)

Out:
<class 'list'>
['..\\12306', '..\\Auto connection school network', '..\\cache',
'..\\class', '..\\exercise_1.py', '..\\exercise_2-2.py',
'..\\exercise_2-3.py', '..\\exercise_2.py', '..\\regular',
'..\\taobao', '..\\test.py', '..\\testglob', '..\\UDPClient']

python使用glob检索文件的操作

二、glob.iglob的使用

获取一个生成器( generator)对象,使用它可以逐个获取匹配的文件路径名。与glob.glob()的区别是:glob.glob同时获取所有的匹配路径,而 glob.iglob一次只获取一个匹配路径。


In:
from glob import iglob

file = iglob(r'..\*.py')
print(type(file))
print(file)

n=0
for i in file:
   n=n+1
   print(str(n),i)
Out:
<class 'generator'>
<generator object _iglob at 0x000001AEBE4D3B10>
1 ..\exercise_1.py
2 ..\exercise_2-2.py
3 ..\exercise_2-3.py
4 ..\exercise_2.py
5 ..\test.py

通过示例中的for循环可以看到,生成器对象会依次给出要匹配路径下的文件。

来源:https://blog.csdn.net/zzc15806/article/details/80984995

标签:python,glob,检索文件
0
投稿

猜你喜欢

  • python反射机制内置函数及场景构造详解

    2022-03-04 07:16:52
  • Python详细对比讲解break和continue区别

    2022-08-09 08:45:05
  • 如何将数据访问页绑定到断开连接的 ADO 记录集上?

    2009-12-03 20:07:00
  • python按行读取文件,去掉每行的换行符\\n的实例

    2022-06-01 03:49:43
  • 盗亦有道 Web2.0网站优秀模仿者逐个数

    2007-09-11 19:46:00
  • Oracle 语句优化分析说明第1/2页

    2009-09-18 13:23:00
  • ASP下检测图片木马的函数代码

    2011-02-05 10:43:00
  • JavaScript 浮动定位提示效果实现代码第1/2页

    2023-07-22 23:26:19
  • Python match语句的具体使用

    2023-07-24 03:10:08
  • 用Dreamweaver设计实现网页过渡转换功能

    2008-09-04 10:09:00
  • Python如何通过变量ID得到变量的值

    2023-01-22 22:35:56
  • python导入csv文件出现SyntaxError问题分析

    2023-12-12 04:29:57
  • Django model反向关联名称的方法

    2021-03-06 17:21:28
  • 基于np.arange与np.linspace细微区别(数据溢出问题)

    2021-08-29 23:46:25
  • 在PHP3中实现SESSION的功能(二)

    2023-11-17 11:26:52
  • Python实现图片指定位置加图片水印(附Pyinstaller打包exe)

    2023-08-13 04:27:16
  • MySQL数据库对dvbbs.php全文搜索的完全分析

    2010-06-11 13:25:00
  • python初学者,用python实现基本的学生管理系统(python3)代码实例

    2023-07-01 11:40:01
  • 和server XMLHTTP相关的几个函数

    2008-09-21 13:56:00
  • python学习之whl文件解释与安装详解

    2021-11-01 18:09:14
  • asp之家 网络编程 m.aspxhome.com