前言

最近在工作中碰到一個很棘手的問題,需要讀取出ubuntu系統(tǒng)中某個目錄下所有文件,由于服務器中存儲的文件實在太多,導致此過程效率十分低下,動輒需要等待一個小時之久,還只是一個目錄。于是如何快速獲取文件列表便是這兩天的頭等大事,折騰半天找到一個較為快速的方法,記錄如下,話不多說了,來一起看看詳細的介紹吧。
多種實現(xiàn)方法
嘗試了多種方法,有編程的和非編程的。
1、walk
python的walk庫能夠遞歸的讀取目錄下所有文件,這個是最常規(guī)的方法,然而效率有些緩慢。實現(xiàn)很簡單,不贅述。
2、os.scandir
python中的os.scandir方法官方解釋為快速讀取目錄,測試了一下速度相對walk而言是由提高,但是還是達不到要求,也需要自己寫遞歸,代碼如下:
def scan_path(file_path, level = 3):
files = []
if level >= 0:
path = os.scandir(file_path)
for p in path:
if p.is_dir():
files.extend(scan_path(p.path, level - 1))
else:
files.append(p.path)
return files
新聞標題:linux中快速列出文件列表的多種方法總結(jié)-創(chuàng)新互聯(lián)
瀏覽路徑:http://chinadenli.net/article40/cdojho.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供移動網(wǎng)站建設、靜態(tài)網(wǎng)站、網(wǎng)站收錄、網(wǎng)頁設計公司、網(wǎng)站制作、App設計
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)