gpt4 book ai didi

python - 从目录中获取单个文件的最有效/最快的方法

转载 作者:太空宇宙 更新时间:2023-11-04 10:51:46 25 4
gpt4 key购买 nike

使用 Python 从目录中获取单个文件的最有效和最快的方法是什么?

关于我的具体问题的更多细节:
我有一个包含很多预生成文件的目录,我只想随机选择一个。因为我知道除了首先列出所有文件之外没有从目录中选择随机文件的真正有效的方法,所以我的文件是用一个已经随机的名称生成的,因此它们已经随机排序,我只需要选择第一个文件夹中的文件。

所以我的问题是:如何从我的文件夹中选择第一个文件,而不必从目录中加载整个文件列表(操作系统也不需要这样做,我的最佳目标是强制操作系统只需返回一个文件然后停止!)。

注意:我的目录中有很多文件,因此我不想列出所有文件而只选择一个文件。

注意2:每个文件只被选取一次,然后被删除以确保下一次只选取新文件(从而确保某种随机性)。

解决方案

我最终选择使用一个索引文件,它将存储:

  • 要选取的当前文件的索引(例如:1 表示 file1.ext,2 表示 file2.ext,等等)
  • 最后生成的文件的索引(例如:1999 表示 file1999.ext)

当然,这意味着我的文件不再使用随机名称生成,而是使用确定性的可递增模式(例如:“file%s.ext”% ID)

因此我的两个主要操作的时间几乎恒定:

  • 访问文件夹中的下一个文件
  • 计算剩余文件的数量(以便我可以在需要时在后台线程中生成新文件)。

这是针对我的问题的具体解决方案,对于更通用的解决方案,请阅读已接受的答案。

此外,您可能对我发现的这两个使用 Python 优化文件访问和目录遍历的解决方案感兴趣:

最佳答案

在 1 个目录中不要有很多预生成的文件。如果目录中有超过“n”个文件,则将它们划分为子目录。

关于python - 从目录中获取单个文件的最有效/最快的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13378382/

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