如何计算目录中的文件总数,包括使用文件扩展名的嵌套文件夹,例如“.json”

How to count total number of files in directories including nested folder using file extention for example '.json'

我需要计算包括嵌套文件夹在内的目录中 .json 文件的总数。 我试过这个

json_file_count = 0 
for roots,dirs, files in os.walk(path)
    for json_file_count in files:
        if os.path.splitext(n)[1] == '.json'
print(json_file_count)

它显示所有文件。Json 文件名。我需要整数总数。 我试过 len()

print(len(json_file_count))

但它只是计算文件名中包含的单词数:(

当我尝试时 json_file_count += files

但是显示类型错误:必须是str,不是int

请帮助我。任何帮助都非常感谢。我很绝望..... :'(

应该这样做:

json_file_count = 0 
for roots,dirs, files in os.walk(path)
    for file in files:
        if os.path.splitext(file)[1] == '.json':
            json_file_count += 1   
            
print(json_file_count)


你的代码不起作用的原因是,看看这个:

for json_file_count in files:

您假设 json_file_count 是一个数字,但实际上,它是文件的名称。我相信你想做的是

for json_file_count in range(1, len(files)+1):

这实际上没有意义。

from pathlib import Path

number_of_jsons = len(Path("path/to/dir").rglob("*.json"))