讀乙個檔案目錄下的所有檔案

2021-09-25 05:55:37 字數 1209 閱讀 7628

實現這一目的方法有兩種:一是,利用 os.walk() ;二是,利用 listdir() 。

利用 os.walk() 可以讀取 file_dir 當前目錄路徑(root)、當前路徑下的所有子目錄(dirs)、當前路徑下的所有檔案(files)。

另外,利用 os.path.splitext() 可以將檔案的檔名和拓展名分開,並儲存在列表當中,即在列表中[0]為檔名,[1]為拓展名 

import os

def file_name(file_dir):

"""讀取 file_dir 目錄下拓展名為'.hdf'的檔案"""

l= #建立列表用於儲存需讀取的檔名

for root, dirs, files in os.walk(file_dir):

#root為所在資料夾位置,

#dirs為該目錄下的資料夾

#files為該目錄下的檔案

for file in files:

if os.path.splitext(file)[1] == '.hdf': #將檔名和拓展名分開

return l

可以在下面的遞迴函式中體會該方法。

import os

filenames_list =

def get_filenames(path,filenames_list):

for file in os.listdir(path):

file_path = os.path.join(path,file)

if os.path.isdir(file_path):

get_filenames(file_path,filenames_list)

else:

get_filenames('h:/mark/mark_1',filenames_list)

for filename in filenames_list:

print(filename)

函式 get_filenames(path,filenames_list) 將 path 目錄下的檔案以及該路徑下子目錄中的檔案新增到 filenames_list 列表中去。其中 listdir() 獲取 path 路徑下的所有檔名和資料夾名;join(path,file) 獲取路徑(path)下檔案(file)的路徑;isdir(file_path)判斷路徑(file_path)指向的物件是否為資料夾

C 刪除乙個檔案目錄下的所有檔案以及目錄

bool doremovedirectory cstring chrdirname bool releasedirectory cstring chrdirname end of civmsvrinfo releasedirectory bool doremovedirectory cstring ...

VC 刪除乙個檔案目錄下的所有檔案以及目錄

1 bool doremovedirectory cstring chrdirname 23 bool releasedirectory cstring chrdirname 4 end of civmsvrinfo releasedirectory 1415 bool doremovedirect...

Python讀取乙個目錄下的所有檔案

usr bin python coding utf8 import os allfilenum 0 defprintpath level,path global allfilenum 列印乙個目錄下的所有資料夾和檔案 所有資料夾,第乙個欄位是次目錄的級別 dirlist 所有檔案 filelist ...