溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Python如何獲取指定文件夾下的文件名

發(fā)布時(shí)間:2021-04-21 09:48:40 來源:億速云 閱讀:424 作者:小新 欄目:開發(fā)技術(shù)

這篇文章主要介紹了Python如何獲取指定文件夾下的文件名,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

Python主要用來做什么

Python主要應(yīng)用于:1、Web開發(fā);2、數(shù)據(jù)科學(xué)研究;3、網(wǎng)絡(luò)爬蟲;4、嵌入式應(yīng)用開發(fā);5、游戲開發(fā);6、桌面應(yīng)用開發(fā)。

本文采用os.walk()和os.listdir()兩種方法,獲取指定文件夾下的文件名。

一、os.walk()

模塊os中的walk()函數(shù)可以遍歷文件夾下所有的文件。

os.walk(top, topdown=Ture, onerror=None, followlinks=False)

該函數(shù)可以得到一個(gè)三元tupple(dirpath, dirnames, filenames).

參數(shù)含義:

  1. dirpath:string,代表目錄的路徑;

  2. dirnames:list,包含了當(dāng)前dirpath路徑下所有的子目錄名字(不包含目錄路徑);

  3. filenames:list,包含了當(dāng)前dirpath路徑下所有的非目錄子文件的名字(不包含目錄路徑)。

注意,dirnames和filenames均不包含路徑信息,如需完整路徑,可使用os.path.join(dirpath, dirnames)

下面給出代碼;

# -*- coding: utf-8 -*-  
import os 
def file_name(file_dir):  
  for root, dirs, files in os.walk(file_dir): 
    print(root) #當(dāng)前目錄路徑 
    print(dirs) #當(dāng)前路徑下所有子目錄 
    print(files) #當(dāng)前路徑下所有非目錄子文件

當(dāng)需要特定類型的文件時(shí),代碼如下:

# -*- coding: utf-8 -*-   
import os 
 
def file_name(file_dir):  
  L=[]  
  for root, dirs, files in os.walk(file_dir): 
    for file in files: 
      if os.path.splitext(file)[1] == '.jpeg': 
        L.append(os.path.join(root, file)) 
  return L

其中os.path.splitext()函數(shù)將路徑拆分為文件名+擴(kuò)展名,例如os.path.splitext(“E:/lena.jpg”)將得到”E:/lena“+".jpg"。

二、os.listdir()

os.listdir()函數(shù)得到的是僅當(dāng)前路徑下的文件名,不包括子目錄中的文件,所有需要使用遞歸的方法得到全部文件名。

直接給出代碼,函數(shù)將返回類型為‘.jpeg'個(gè)文件名:

# -*- coding: utf-8 -*- 
import os 
 
def listdir(path, list_name): 
  for file in os.listdir(path): 
    file_path = os.path.join(path, file) 
    if os.path.isdir(file_path): 
      listdir(file_path, list_name) 
    elif os.path.splitext(file_path)[1]=='.jpeg': 
      list_name.append(file_path)

初學(xué)python,犯了些低級(jí)錯(cuò)誤,浪費(fèi)了很多時(shí)間,首先一定要確保代碼的四空格縮進(jìn),注意直接回車下一行并不是四空格縮進(jìn);還有一點(diǎn)是在命令提示符窗口(Windows)使用python解釋器第一次運(yùn)行代碼后,修改源代碼,如若再次運(yùn)行需要退出重新進(jìn)入python解釋器,否則仍將運(yùn)行第一次執(zhí)行過的代碼。

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“Python如何獲取指定文件夾下的文件名”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI