0
我想檢索目錄中的文件列表。 使用subprocess.Popen
或使用os.listdir
最快的方法是什麼?該目錄包含10000個文件。並且這必須遞歸地完成以從目錄及其子目錄檢索列表。我知道我們可以使用os.walk
來檢索目錄的內容,但os.walk
只是不適合我所想做的。哪一個是獲取目錄列表的更快方式subprocess.Popen或os.listdir
感謝
我想檢索目錄中的文件列表。 使用subprocess.Popen
或使用os.listdir
最快的方法是什麼?該目錄包含10000個文件。並且這必須遞歸地完成以從目錄及其子目錄檢索列表。我知道我們可以使用os.walk
來檢索目錄的內容,但os.walk
只是不適合我所想做的。哪一個是獲取目錄列表的更快方式subprocess.Popen或os.listdir
感謝
os.listdir
很可能是編譯的C調用該ls
做同樣的基礎libc中的系統方法。
相反,subprocess.Popen
分叉了一個全新的過程,這是一個昂貴的系統操作,需要新的文件句柄來處理tty操作。
我期望'os.listdir'可以更快,因爲你不需要產生一個子進程,他們可能使用基本相同的代碼來獲取列表。你爲什麼不「定時」看看? – mgilson
爲什麼'os.walk'不適合你? –
@ mgilson -I測試了它們,發現os.listdir更快,但我不知道背後的原因。那就是爲什麼發佈這個問題 –