键盘录入一个文件夹路径,统计该文件夹(包含子文件夹)中文件个数和文件夹个数。 【复杂:统计每种类型的文件个数】
时间: 2023-08-02 16:10:40 浏览: 126
好的,这是一个比较基础的文件处理问题,下面是 Python 代码实现:
```python
import os
def count_files_folders(path):
"""
统计文件夹中文件个数和文件夹个数
"""
file_count = 0
folder_count = 0
type_dict = {} # 统计每种类型的文件个数
for root, dirs, files in os.walk(path):
folder_count += len(dirs)
for file in files:
file_count += 1
file_type = os.path.splitext(file)[1]
if file_type not in type_dict:
type_dict[file_type] = 1
else:
type_dict[file_type] += 1
print("文件夹个数:", folder_count)
print("文件个数:", file_count)
print("每种类型的文件个数:", type_dict)
if __name__ == '__main__':
path = input("请输入文件夹路径: ")
count_files_folders(path)
```
这个函数使用了 `os` 模块中的 `os.walk` 方法,可以递归遍历文件夹中的所有子文件夹和文件。在遍历过程中,我们可以统计文件夹个数和文件个数,并且使用字典 `type_dict` 统计每种类型的文件个数。最后输出结果即可。
需要注意的是,这段代码只是一个简单的实现,没有考虑异常情况,比如输入的路径不存在,或者遍历过程中某个文件或文件夹无法访问等情况。在实际应用中需要根据具体情况进行处理。
阅读全文