python獲取檔案下的所有檔案 資料夾的大小

2021-10-23 18:17:41 字數 1600 閱讀 4834

import os

allfilepath =

# 存放所有的檔案路徑

dirsize =

0# 資料夾大小 單位:位元組

# 獲取資料夾下的所有檔案

defgetallfilepath

(path)

:'''

這個思路可以延伸做乙個檔案查詢器:把所有檔案、資料夾新增進陣列 然後 in 陣列 可以反饋搜尋結果

'''# 資料夾結尾判斷有沒有'/'

if path[-1

].__eq__(

'/')

:pass

else

: path = path +

'/'global allfilepath # 全域性變數

filelist = os.listdir(path)

# 獲得資料夾下面的所有內容

for i in filelist:

if os.path.isdir(path + i)

:# 如果是資料夾 那就再次呼叫函式去遞迴

getallfilepath(path + i)

# 呼叫自己

else

:'''

如果你只想獲得某類檔案 比如'.xml'結尾的檔案 可以用正規表示式 demo如下

'.' 匹配除換行符 \n 之外的任何單字元

'+' 至少出現一次

'\.' 轉義. 因為.在正規表示式中是關鍵字 所以需要轉義

'$' 以什麼結尾('^' 以什麼開頭)

if re.match('.+\.xml$', i):

'''# 把檔案的名字加入陣列

# 獲取資料夾的大小

defgetdirsize

(path)

:# 資料夾結尾判斷有沒有'/'

if path[-1

].__eq__(

'/')

:pass

else

: path = path +

'/'global dirsize # 全域性變數

filelist = os.listdir(path)

# 獲得資料夾下面的所有內容

for i in filelist:

if os.path.isdir(path + i)

:# 如果是資料夾 那就再次呼叫函式去遞迴

getdirsize(path + i)

# 呼叫自己

else

: size = os.path.getsize(path + i)

# 獲取檔案的大小

dirsize = dirsize + size # 疊加

if __name__ ==

'__main__'

: getallfilepath(

)print

(allfilepath)

getdirsize(

)print

(str

(int

(dirsize /

1048576))

+' mb'

)

Python獲取指定路徑下所有檔案的絕對路徑

給出制定目錄 路徑 獲取該目錄下所有檔案的絕對路徑 方式一 import osdef get file path by name file dir 獲取指定路徑下所有檔案的絕對路徑 param file dir return l for root,dirs,files in os.walk file...

獲取指定路徑下的所有檔案

windows版本 參考 windows下遍歷指定目錄下的所有檔案 void listfiles const char dir else cout finddata.name t finddata.size bytes.n while findnext handle,finddata 0 findc...

Python 簡單獲取目錄下的所有檔案

1.使用 os.walk import os path d test fns os.path.join root,fn for root,dirs,files in os.walk path for fn in files for f in fns print f結果 路徑或檔名為中文的話會顯示亂碼...