所以我想在 Python 的一个目录下抓取第一个文件。我知道我可以这样做:
first_file = [join(path, f) for f in os.listdir(path) if isfile(join(path, f))][0]
但它很慢。有没有更好的解决方案?谢谢!
所以我想在 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")