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")
所以我想抓取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")