2. 编写一个程序,统计某个目录下的所有目录数和文件数(含子目录下的目录数和文件数)
时间: 2024-03-02 07:52:43 浏览: 78
获取目录下的文件及目录总数
可以使用Python来编写一个程序,使用递归函数来遍历目录并统计目录数和文件数。以下是一个示例代码:
```python
import os
def count_files_and_dirs(path):
"""
统计目录下的所有目录数和文件数(含子目录下的目录数和文件数)
"""
# 初始化目录数和文件数为0
num_dirs = 0
num_files = 0
# 遍历目录下的文件和子目录
for item in os.listdir(path):
# 获取当前item的路径
item_path = os.path.join(path, item)
# 如果是目录,则递归调用函数
if os.path.isdir(item_path):
num_dirs += 1
sub_dirs, sub_files = count_files_and_dirs(item_path)
num_dirs += sub_dirs
num_files += sub_files
# 如果是文件,则累加文件数
elif os.path.isfile(item_path):
num_files += 1
return num_dirs, num_files
# 测试程序
path = "/path/to/directory"
num_dirs, num_files = count_files_and_dirs(path)
print("目录数:", num_dirs)
print("文件数:", num_files)
```
在程序中,我们首先定义了一个 `count_files_and_dirs` 函数来统计目录数和文件数。该函数接受一个参数 `path`,表示要统计的目录路径。函数使用 `os.listdir` 方法来遍历目录下的所有文件和子目录,并分别累加目录数和文件数。
如果遍历到的是子目录,则递归调用 `count_files_and_dirs` 函数,并将子目录的目录数和文件数累加到当前目录的目录数和文件数中。
最后,在程序中调用 `count_files_and_dirs` 函数,并输出结果。
阅读全文