Python 獲取指定資料夾下的目錄和檔案的實現

2022-09-27 02:03:15 字數 2569 閱讀 3613

經常有需要掃瞄目錄,對檔案做批量處理的需求,所以對目錄處理這塊做了下學習和總結。python 中掃瞄目錄有兩種方法:os.listdir 和 os.walk。

一、os.listdir 方法

os.listdir() 方法用於返回指定的目錄下包含的檔案或子目錄的名字的列表。這個列表以字母程式設計客棧順序。其得到的是僅當前路徑下的檔名,不包括子目錄中的檔案,如果需要得到所有檔案需要遞迴。 它也不包括 '.' 和 '..' 即使它在目錄中。

語法格式如下:

os.listdir(path)

例項**

def list_dir(file_dir):

'''通過 listdir 得到的是僅當前路徑下的檔名,不包括子目錄中的檔案,如果需要得到所有檔案需要遞迴

'''print'\n\n<><><><><><> listdir <><><><><><>'

print "current dir : ".format(file_dir)

dir_list = os.listdir(file_dir)

for cur_file in dir_list:

# 獲取檔案的絕對路徑

path = os.path.join(file_dir, cur_file)

if os.path.isfile(path): # 判斷是否是檔案還是目錄需要用絕對路徑

print " : is file!".format(cur_file)

if os.path.isdir(pat程式設計客棧h):

print " : is dir!".format(cur_file)

list_dir(path) # 遞迴子目錄

二、os.walk 方法

os.walk() 方法用於通過在目錄樹中游走輸出在目錄中的檔名,向上或者向下。是乙個簡單易用的檔案、目錄遍歷器,可以幫助我們高效的處理檔案、目錄方面的事情。

語法格式如下:

os.walk(top[, topdown=true[, onerror=none[, followlinks=false]]])

方法引數說明:

返回值: 三元組 (root, dirs, files)

例項def work_dir(file_dir):

print'\n\n<><><><><> work dir <><><><><>'

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

print'\n****************************************'

print "root : ".format(root)

print "dirs : ".format(dirs)

print "files : ".format(files)

​ for file in files:

try:

print'-----------------------------------'

file_name = os.path.splitext(file)[0]

file_suffix = os.path.splitext(file)[1]

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

file_abs_path = os.path.abspath(file)

file_parent = os.path.dirname(file_path)

​ print "file : ".format(file)

print "file_name : ".format(file_name)

print "file_suffix : ".format(file_suffix)

print "file_path : ".format(file_path)

print "file_abs_path : ".format(file_abs_path)

print "file_parent : ".format(file_pawww.cppcns.comrent)

except exception, e:

print "exception", e

三、其他跟檔案相關的常用方法

os.path.splitext():分離檔名和副檔名

file = "file_test.txt"

file_name = os.path.splitext(file)[0] # 輸出:file_test

file_suffix = os.path.splitext(file)[1] # 輸出:.txt

os.path.exists():判斷檔案或目錄是否存在

os.path.isfile():判斷是否是檔案

os.path.isdir():判斷是否是目錄

os.path.dirname():獲取當前檔案所在的目錄,即父目錄

os.makedirs():建立多級目錄

os.mkdir():建立單級目錄

os.path.getsize():獲取檔案大小

本文標題: python 獲取指定資料夾下的目錄和檔案的實現

本文位址: /jiaoben/python/271196.html

Python獲取指定資料夾下的檔名

本文採用os.walk 和os.listdir 兩種方法,獲取指定資料夾下的檔名。模組os中的walk 函式可以遍歷資料夾下所有的檔案。os.walk top,topdown ture,nerr r none,followlinks false 該函式可以得到乙個三元tupple dirpath,d...

python 獲取指定資料夾下的檔名

本文採用os.walk 和os.listdir 兩種方法,獲取指定資料夾下的檔名。模組os中的walk 函式可以遍歷資料夾下所有的檔案。os.walk top,topdown ture,onerror none,followlinks false 該函式可以得到乙個三元tupple dirpath,...

Python獲取指定資料夾下的檔名

os.walk 和os.listdir 兩種方法 一 os.walk 模組os中的walk 函式可以遍歷資料夾下所有的檔案。os.walk top,topdown ture,onerror none,followlinks false 該函式可以得到乙個三元tupple dirpath,dirnam...