使用Python 獲取按創建日期排序的目錄列表
使用Python 獲取按創建日期排序的目錄列表導航目錄時,經常需要獲取排序後的內容列表根據特定標準,例如建立日期。在Python中,這個任務可以輕鬆完成。
建議方法:import glob import os search_dir = "/mydir/" files = [os.path.join(search_dir, f) for f in os.listdir(search_dir) if os.path.isfile(f)] files.sort(key=lambda x: os.path.getmtime(x))
為了實現這一點,Python內建的檔案系統操作模組和排序功能的組合是受僱。下面的程式碼片段說明了這個過程:
import glob 導入作業系統 搜尋目錄 =“/mydir/” files = [os.path.join(search_dir, f) for f in os.listdir(search_dir) if os.path.isfile(f)] files.sort(key=lambda x: os.path.getmtime(x))
此程式碼片段首先使用 os.listdir() 取得指定目錄中所有檔案的清單。隨後,使用 os.path.isfile() 過濾掉任何非檔案項目(例如目錄、連結)。為了確保正確的檔案路徑,每個檔案名稱都以搜尋目錄路徑為前綴。 然後使用 os.path.getmtime() 函數根據檔案的修改時間對檔案進行排序。此函數以數字格式傳回檔案的最後修改時間。透過將此函數作為關鍵參數傳遞給排序()函數,文件將按時間順序排列,最近建立的文件首先出現。
替代方法:import glob import os search_dir = "/mydir/" files = [os.path.join(search_dir, f) for f in os.listdir(search_dir) if os.path.isfile(f)] files.sort(key=lambda x: os.path.getmtime(x))
另一種方法是利用 glob 模組來過濾檔案並取得絕對檔案路徑清單:
import glob 導入作業系統 搜尋目錄 =“/mydir/” # 這個 glob 將查找所有檔案並排除任何目錄 files = [f for f in glob.glob(f"{search_dir}/**", recursive=True) if os.path.isfile(f)] files.sort(key=lambda x: os.path.getmtime(x))
此程式碼本質上搜尋指定目錄及其子目錄的全部內容,包括所有檔案但不包括任何目錄。如果需要,glob.glob() 函數允許更靈活的檔案名稱匹配。免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3