count目录python中的文件数

时间:2015-09-09 07:56:33

标签: python-2.7

以下语法用于获取目录中的文件数,但是请您帮助我理解这种语法。(.next()[2]如何帮助计算python。) 我是python的新手,请帮帮我。

len(os.walk(path).next()[2])

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)