所以我想抓住Python目录下的第一个文件。我知道我可以这样做:
first_file = [join(path, f) for f in os.listdir(path) if isfile(join(path, f))][0]
但它很慢。有没有更好的解决方案?谢谢!
答案 0 :(得分:4)
您可以使用next()
:
first_file = next(join(path, f) for f in os.listdir(path) if isfile(join(path, f)))
请注意,如果目录中没有文件,则会抛出StopIteration
异常。处理它,或提供默认值:
first_file = next((join(path, f) for f in os.listdir(path) if isfile(join(path, f))),
"default value here")