尝试浏览驱动器上的每个文件夹,计算每个文件夹中的文件数,如果文件数大于或等于3,则递增计数。应该很容易吗?好吧,我已经彻底搞砸了,我不知所措。
import os, os.path, sys
rootdir = 'q:'
documentedcount = 0
for root, subFolders, files in os.walk(rootdir):
filecount = len([name for name in os.listdir('.') if os.path.isfile(name)])
print "Filecount = %s" % filecount
if filecount >= 3:
documentedcount =+1
print "Documented in the loop is %s" % documentedcount
print "Documented = %s" % documentedcount
它不希望超出根目录并进入任何子文件夹。它让我疯了,因为这应该很简单,但我似乎无法绕过它。
答案 0 :(得分:2)
好吧,os.walk()
不会在每次迭代时更改工作目录,所以行......
filecount = len([name for name in os.listdir('.') if os.path.isfile(name)])
启动脚本时,...将始终计算当前工作目录中的文件数。
但是,有一个更简单的方法,因为os.walk()
返回的每个元组中的第三项已经为您提供了目录中所有(非目录)文件的列表,因此您可以使用{{1 }} ...
len(files)