0

我正在尝试获取所有目录中列出的所有文件的数量以及单个目录中的文件数量。下面是我获取所有目录中文件总数的代码,但我无法获取如何获取单个目录中的计数。有人可以帮忙吗?

N = 0 #Total count of number of files in all directories
N_c = 0 #Number of documents in each class

for dirpath, dirnames, filenames in os.walk(filePath):
    for filename in [f for f in filenames]:
        files = [os.path.join(dirpath, filename)]
        for f in files:
            N+=1
4

2 回答 2

5

user7737327 中回答:您不需要遍历dirpathandfor d in dirpath

filenames包含当前目录中所有文件的列表。我们可以只取文件名的长度来获取当前目录中的文件数。

N = 0  # total files
for dirpath, dirnames, filenames in os.walk(file_path):
    N_c = len(filenames)
    N += N_c
    print "Files in ", dirpath, N_c
print "Total Files ",N
于 2017-03-20T03:01:22.607 回答
1

你工作太辛苦了。你有一个文件名列表,只需要它的长度。我不知道“单个目录中的文件数”是什么意思,所以我只是打印它们。

N = 0 #Total count of number of files in all directories
# what is this supposed to be?
# N_c = 0 #Number of documents in each class

for dirpath, dirnames, filenames in os.walk(filePath):
    N += len(filenames)
    print("Files in", dirpath, len(filenames)

print("Total files", N)
于 2017-03-20T01:43:07.983 回答