經常有需要掃瞄目錄,對檔案做批量處理的需求,所以對目錄處理這塊做了下學習和總結。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...