Python: 如何获取目录中的第一个文件?

Python: how to get the first file in directory?

所以我想抓取Python中某个目录下的第一个文件。我知道我可以这样做:

first_file = [join(path, f) for f in os.listdir(path) if isfile(join(path, f))][0]

但是速度很慢。有没有更好的解决办法?谢谢!

您可以使用 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")