Python獲取指定資料夾下的檔名的方法 - 程式前沿

文章推薦指數: 80 %
投票人數:10人

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

一、os.walk() 模組os中的walk()函式可以遍歷資料夾下所有的檔案。

os.walk(top ... 程式語言前端開發IOS開發Android開發雲端運算人工智慧伺服器搜尋資料庫軟體開發工具Python獲取指定資料夾下的檔名的方法2018.07.05程式語言python,檔名,資料夾HOME程式語言Python獲取指定資料夾下的檔名的方法Advertisement本文采用os.walk()和os.listdir()兩種方法,獲取指定資料夾下的檔名。

一、os.walk()模組os中的walk()函式可以遍歷資料夾下所有的檔案。

os.walk(top,topdown=Ture,onerror=None,followlinks=False)該函式可以得到一個三元tupple(dirpath,dirnames,filenames).引數含義:dirpath:string,代表目錄的路徑;dirnames:list,包含了當前dirpath路徑下所有的子目錄名字(不包含目錄路徑);filenames:list,包含了當前dirpath路徑下所有的非目錄子檔案的名字(不包含目錄路徑)。

注意,dirnames和filenames均不包含路徑資訊,如需完整路徑,可使用os.path.join(dirpath,dirnames)下面給出程式碼; #-*-coding:utf-8-*- importos deffile_name(file_dir): forroot,dirs,filesinos.walk(file_dir): print(root)#當前目錄路徑 print(dirs)#當前路徑下所有子目錄 print(files)#當前路徑下所有非目錄子檔案 當需要特定型別的檔案時,程式碼如下: #-*-coding:utf-8-*- importos deffile_name(file_dir): L=[] forroot,dirs,filesinos.walk(file_dir): forfileinfiles: ifos.path.splitext(file)[1]=='.jpeg': L.append(os.path.join(root,file)) returnL其中os.path.splitext()函式將路徑拆分為檔名副檔名,例如os.path.splitext(“E:/lena.jpg”)將得到”E:/lena““.jpg”。

二、os.listdir()os.listdir()函式得到的是僅當前路徑下的檔名,不包括子目錄中的檔案,所有需要使用遞迴的方法得到全部檔名。

直接給出程式碼,函式將返回型別為‘.jpeg’個檔名: #-*-coding:utf-8-*- importos deflistdir(path,list_name): forfileinos.listdir(path): file_path=os.path.join(path,file) ifos.path.isdir(file_path): listdir(file_path,list_name) elifos.path.splitext(file_path)[1]=='.jpeg': list_name.append(file_path)初學python,犯了些低階錯誤,浪費了很多時間,首先一定要確保程式碼的四空格縮排,注意直接回車下一行並不是四空格縮排;還有一點是在命令提示符視窗(Windows)使用python直譯器第一次執行程式碼後,修改原始碼,如若再次執行需要退出重新進入python直譯器,否則仍將執行第一次執行過的程式碼。

Advertisement写评论取消回覆很抱歉,必須登入網站才能發佈留言。

近期文章Spark入門(一)用SparkShell初嘗Spark滋味2019.12.08Spark入門(二)如何用Idea運行我們的Spark項目2019.12.08Spark入門(三)Spark經典的單詞統計2019.12.08Spark入門(四)Spark的map、flatMap、mapToPair2019.12.08Spark入門(五)Spark的reduce和reduceByKey2019.12.08Spark入門(六)Spark的combineByKey、sortBykey2019.12.08Spark入門(七)Spark的intersection、subtract、union和distinct2019.12.08Spark實戰尋找5億次訪問中,訪問次數最多的人2019.12.08Spark實戰搭建我們的Spark分佈式架構2019.12.08【機器學習】深度學習開發環境搭建2019.12.08AdvertisementAdvertisement



請為這篇文章評分?