我有大量的文件,我想通過使用python遍歷。我使用的是os.walk(源代碼),並且工作正常,但是由於我擁有大量文件,因爲它一次獲取完整列表,因此佔用了太多內存資源。我怎樣才能優化這個使用更少的資源,並且一次或者以其他有效的方式遍歷一個目錄,並且仍然能夠遍歷整套文件。由於Python - 通過一個巨大的文件集,但以更高效的方式步行
for dir, dirnames, filenames in os.walk(START_FOLDER):
for name in dirnames:
#if PRIVATE_FOLDER not in name:
for keyword in FOLDER_WITH_KEYWORDS_DELETION_EXCEPTION_LIST:
if keyword in name.lower():
ignoreList.append(name)
'os.walk'已經返回一個懶惰的生成器。你是把它變成一個清單什麼的?因爲如果沒有,它不應該導致內存問題。 (另外,發佈您的代碼。) – senshin
我想通過每個文件名,如果包含某些關鍵字我想將它們添加到os.walk(START_FOLDER)中的目錄,dirnames,文件名列表中: dirnames中:#如果 不PRIVATE_FOLDER在名稱: 在FOLDER_WITH_KEYWORDS_DELETION_EXCEPTION_LIST關鍵字: 如果name.lower關鍵字(): ignoreList.append(名稱) – nirvana
好。發佈你的代碼,這樣做。 – senshin