欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python使用glob檢索文件的操作

 更新時間:2021年05月20日 09:45:11   作者:z小白  
這篇文章主要介紹了python使用glob檢索文件的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

一、檢索當(dāng)前目錄下所有文件、文件夾

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

二、檢索當(dāng)前目錄下指定后綴名文件

假設(shè)我們需要獲取當(dāng)前文件夾下所有后綴名為".wav"的文件,

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

二、檢索當(dāng)前目錄下包含指定字符文件

假設(shè)我們需要獲得所有包含"a"字符的".wav"文件,

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

補(bǔ)充:Python 中的glob模塊使用筆記(用它來遍歷文件夾、文件真的很方便)

glob模塊簡介

glob是python自己帶的一個文件操作相關(guān)模塊,用它可以查找符合自己目的的文件,就類似于Windows下的文件搜索,支持通配符操作。

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

‘*' 匹配0個或多個字符
‘?' 僅匹配一個字符
‘[]' 匹配指定范圍內(nèi)的字符,如[0-9]匹配數(shù)字

用圖片中的文件夾作為例子進(jìn)行演示

一、glob.glob的使用:

該方法返回所有匹配的文件路徑列表。

該方法需要一個參數(shù)用來指定要匹配的文件路徑(字符串類型)絕對路徑、相對路徑。

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.使用相對路徑來進(jìn)行匹配

'.' 指代當(dāng)前目錄

'. . ' 指代當(dāng)前目錄的上一級目錄

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']

二、glob.iglob的使用

獲取一個生成器( generator)對象,使用它可以逐個獲取匹配的文件路徑名。與glob.glob()的區(qū)別是: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循環(huán)可以看到,生成器對象會依次給出要匹配路徑下的文件。

相關(guān)文章

  • python實現(xiàn)可下載音樂的音樂播放器

    python實現(xiàn)可下載音樂的音樂播放器

    這篇文章主要為大家詳細(xì)介紹了python實現(xiàn)可下載音樂的音樂播放器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-02-02
  • Python設(shè)置Socket代理及實現(xiàn)遠(yuǎn)程攝像頭控制的例子

    Python設(shè)置Socket代理及實現(xiàn)遠(yuǎn)程攝像頭控制的例子

    這篇文章主要介紹了Python設(shè)置Socket代理及實現(xiàn)遠(yuǎn)程攝像頭控制的例子,皆是對socket模塊的實際運(yùn)用,需要的朋友可以參考下
    2015-11-11
  • python實現(xiàn)矩陣和array數(shù)組之間的轉(zhuǎn)換

    python實現(xiàn)矩陣和array數(shù)組之間的轉(zhuǎn)換

    今天小編就為大家分享一篇python實現(xiàn)矩陣和array數(shù)組之間的轉(zhuǎn)換,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • pycharm配置git(圖文教程)

    pycharm配置git(圖文教程)

    這篇文章主要介紹了pycharm配置git(圖文教程),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • python 連接sqlite及簡單操作

    python 連接sqlite及簡單操作

    本文通過實例代碼給大家介紹了python 連接sqlite及簡單操作,非常不錯,具有參考借鑒價值,需要的朋友參考下吧
    2017-06-06
  • Python中sys.stdout方法的語法示例詳解

    Python中sys.stdout方法的語法示例詳解

    Python中sys 模塊中的一個方法是stdout ,它使用其參數(shù)直接顯示在控制臺窗口上,print() 方法,它有相同的行為,首先轉(zhuǎn)換為sys.stdout() 方法,然后在控制臺顯示結(jié)果,本文給大家介紹Python sys.stdout方法的語法,感興趣的朋友一起看看吧
    2023-09-09
  • 如何使用pandas對超大csv文件進(jìn)行快速拆分詳解

    如何使用pandas對超大csv文件進(jìn)行快速拆分詳解

    Pandas是Python語言的一個擴(kuò)展程序庫,提供高性能、易于使用的數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)分析工具,下面這篇文章主要給大家介紹了關(guān)于如何使用pandas對超大csv文件進(jìn)行快速拆分的相關(guān)資料,需要的朋友可以參考下
    2022-07-07
  • 詳解Bagging算法的原理及Python實現(xiàn)

    詳解Bagging算法的原理及Python實現(xiàn)

    Bagging算法(Bootstrap aggregating,引導(dǎo)聚集算法),又稱裝袋算法,是機(jī)器學(xué)習(xí)領(lǐng)域的一種團(tuán)體學(xué)習(xí)算法。最初由Leo Breiman于1996年提出。Bagging算法可與其他分類、回歸算法結(jié)合,提高其準(zhǔn)確率、穩(wěn)定性的同時,通過降低結(jié)果的方差,避免過擬合的發(fā)生
    2021-06-06
  • Django Form 實時從數(shù)據(jù)庫中獲取數(shù)據(jù)的操作方法

    Django Form 實時從數(shù)據(jù)庫中獲取數(shù)據(jù)的操作方法

    這篇文章主要介紹了Django Form 實時從數(shù)據(jù)庫中獲取數(shù)據(jù)的相關(guān)知識,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價值 ,需要的朋友可以參考下
    2019-07-07
  • Python 保存矩陣為Excel的實現(xiàn)方法

    Python 保存矩陣為Excel的實現(xiàn)方法

    今天小編就為大家分享一篇Python 保存矩陣為Excel的實現(xiàn)方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-01-01

最新評論