从Python目录中选择随机文件的最佳方法是什么?

编辑:这是我在做什么:

import os
import random
import dircache

dir = 'some/directory'
filename = random.choice(dircache.listdir(dir))
path = os.path.join(dir, filename)

这是特别糟糕,还是有一种更好的方法?

最佳答案

import os, random
random.choice(os.listdir("C:\\")) #change dir name to whatever

关于您编辑过的问题:首先,我假设您知道使用dircache的风险以及它是deprecated since 2.6, and removed in 3.0的事实。

第二,我看不到这里存在任何比赛条件。您的dircache对象基本上是不可变的(在目录列表被缓存之后,它不再被读取),因此并发读取它不会造成任何危害。

除此之外,我不明白为什么您会看到此解决方案有任何问题。没事。

10-05 23:04