我有~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