为什么isFile过滤器不同意目录列表? (PYTHON)

时间:2016-04-07 14:20:18

标签: python file filter directory

如果我获取目录中的文件数(包含3个文件夹和20个文件),我会分别对listdir和isfile采取以下行为:

>>> len(os.listdir('/home/a/Desktop/Development/'))
23

>>> len(filter(os.path.isfile,os.listdir('/home/a/Desktop/Development/')))
7

再次尝试没有子文件夹的文件夹:

>>> len(os.listdir('/home/a/Desktop/Development/newfolder'))
38

>>> len(filter(os.path.isfile,os.listdir('/home/a/Desktop/Development/newfolder')))
0

为什么listdir不提供与isfile过滤器相同的结果?

1 个答案:

答案 0 :(得分:1)

因为os.listdir返回相对路径。例如。如果你有文件a.txt和b.txt,它将返回“a.txt”和“b.txt”。首次运行时非零表示您在pwd中获得了一些具有相同名称的文件。