gpt4 book ai didi

c - 从文件系统中随机选择一个文件

转载 作者:可可西里 更新时间:2023-11-01 11:50:36 26 4
gpt4 key购买 nike

这个问题与Simulating file system access有关.

我需要随机选择文件和目录作为重命名、写入、读取等文件操作的参数。我打算做的是列出所有文件和目录及其路径并从中随机选择列表。但是,随着在实际文件系统中创建和删除文件和目录,列表也必须更新。我发现维护列表并以这种方式更新它是低效的,而且它还必须是原子的,以便后面的操作不会访问被前一个操作删除的文件。

你能建议一种不同的选择文件的方法吗……也许可以直接从文件系统中选择……但是我们怎么知道文件的路径呢。

谢谢

我在这里发现了一些有趣的东西 Randomly selecting a file from a tree of directories in a completely fair manner特别是在Michael J. Barber 的回答,但由于我对 python 的无知而无法完全理解

最佳答案

当文件系统就在那里时,您不想维护一个文件列表。您应该能够直接从 C 执行此操作。从根目录开始,从中选择一个随机文件。你可以选择一个随机的最大深度,如果你击中了一个常规文件,在这个时间或之前使用它。如果它是一个目录,重复到最大深度。如果它是一个特殊文件,可能会重新开始。

这应该很快。该操作不必是原子的。如果您要执行操作时该文件不存在,请重试。应该不会太复杂。您可以在找到目标文件时构建路径。这将比直接使用 fs 更简单(我假设你的意思是在更低的层次上)并且应该很容易实现。

关于c - 从文件系统中随机选择一个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7279657/

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