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結果 路徑或檔名為中文的話會顯示亂碼...