以下语法用于获取目录中的文件数,但是请您帮助我理解这种语法。(.next()[2]如何帮助计算python。) 我是python的新手,请帮帮我。
len(os.walk(path).next()[2])
答案 0 :(得分:7)
如果您想了解这种语法,我建议您按如下方式对其进行分解:
os.walk(path)
将返回一个生成器(基本上是一个迭代器)
<generator object walk at 0x7f5e5acbd4b0>
os.walk
应该浏览所有级别的目录,你要求next()
获得第一级(而不是子目录)
os.walk(path).next()
这将返回:
(
[0] -> The path you passed
[1] -> list of All the first level directories in your path
[2] -> list of All the first level files
)
为了获取文件,您需要在列表中询问索引[2]
的元素
os.walk(path).next()[2]
最后你可以计算这些元素的数量,你使用len
(代表长度)
你走了:
len(os.walk(path).next()[2])
答案 1 :(得分:1)
要计算目录中的文件数,可以使用listdir()方法。
import os
files = os.listdir()
print len(files)