gpt4 book ai didi

python - 给定文件数和深度生成随机目录/文件

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:39:21 26 4
gpt4 key购买 nike

我想分析一些 VCS 软件,为此我想在随机排列的目录中生成一组随机文件。我正在用 Python 编写脚本,但我的问题很简单:如何生成一个随机目录树,其中每个目录的子目录平均数量和每个目录的文件分布广泛?

澄清:我不是在比较不同的 VCS 存储库格式(例如 SVN 与 Git 与 Hg),而是比较处理 SVN(以及最终其他)工作副本和存储库的分析软件。

我想要的约束是指定文件总数(称为“N”,可能是 ~10k-100k)和目录结构的最大深度(“L”,可能是 2-10)。我不在乎每个级别生成多少个目录,我不希望每个目录有 1 个文件,或者一个目录中有 100k 个文件。

分布是我不确定的事情,因为我不知道 VCS'(尤其是 SVN)在非常统一的结构或非常倾斜的结构下会表现得更好还是更差。尽管如此,如果我能想出一种不会对大数“均衡”的算法,那就太好了。

我的第一个想法是:使用某种方法生成目录树,然后用文件统一填充树(平等对待每个目录,不考虑嵌套)。我粗略的计算告诉我,如果有“L”级,每个目录有“D”个子目录,每个目录大约有 sqrt(N) 个文件,那么目录大约有 D^L 个,所以 N =~ sqrt(N)*(D^L) => D =~ N^(1/2L)。所以现在我有了“D”的近似值,我该如何生成树呢?如何填充文件?

如果能提供一些指向我可以使用的算法的良好资源的指示,我将不胜感激。我的搜索只找到了 pretty applets/flash。

最佳答案

为什么不下载一些真正的开源代码库并使用它们呢?

您是否考虑过文件中包含的内容?那也是随机数据吗?

关于python - 给定文件数和深度生成随机目录/文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1553114/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com