从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
对象基本上是不可变的(在目录列表被缓存之后,它不再被读取),因此并发读取它不会造成任何危害。除此之外,我不明白为什么您会看到此解决方案有任何问题。没事。