所以我想抓住Python中的目录下的第一个文件。我知道我可以这样做:Python:如何获取目录中的第一个文件?
first_file = [join(path, f) for f in os.listdir(path) if isfile(join(path, f))][0]
但它很慢。有没有更好的解决方案?谢谢!
所以我想抓住Python中的目录下的第一个文件。我知道我可以这样做: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")
谢谢@gtlambert。确实很快。我正要编辑它:P – tnq177