我有~5M csv文件存儲在〜100.000文件夾中。每個文件夾包含大致相同數量的文件,並且文件夾中始終有偶數個文件。我需要找到所有這些文件的路徑,並將它們加載到一個統計建模項目的奇怪順序列表中。在大目錄中查找隨機對
特別是,我需要以下要堅持:
- 唯一性:每個文件只能在列表中一次
- 對:每個文件必須是同一文件夾旁邊的另一個文件(它可以是兩個,如果由於隨機性)
- 隨機性:任何兩個文件不是「配對」彼此相鄰的概率應該是相同的(即它不會工作只是爲了迭代所有文件)
我在下面創建了一個示例。
文件
Folder_1
- File_A
- File_B
- File_C
- File_D
Folder_2
- File_E
- File_F
- File_G
- File_H
良好的結果(隨機的,但堅持對的規則)
paths = ['Folder_1/File_A', 'Folder_1/File_D', 'Folder_2/File_G', 'Folder_2/File_F', 'Folder_2/File_E', 'Folder_2/File_H', 'Folder_1/File_C', 'Folder_1/File_B']
一個簡單的方法可能是這樣的「隨機選擇一個文件夾,挑該文件夾中的隨機文件和該文件夾中的一對隨機文件,將這些文件保存在列表中以避免再次被選中,重複。「但是,這將花費太長時間。你能推薦一個創建這個列表的好策略嗎?如果需要,隨機性要求可以放鬆一點。
你有什麼企圖? – depperm
是的,我已經完成了我在底部描述的簡單方法的粗略版本。 – pir
文件/文件夾名稱是否遵循某種模式? – Bahrom