编写一个程序,统计某目录下的所有目录数和文件数(含子目录下的目录数和文件数)python
时间: 2024-02-26 22:57:52 浏览: 70
可以使用递归函数来实现这个功能。以下是一个示例代码:
```python
import os
def count_files_and_dirs(path):
files = 0
dirs = 0
for item in os.listdir(path):
item_path = os.path.join(path, item)
if os.path.isfile(item_path):
files += 1
elif os.path.isdir(item_path):
dirs += 1
sub_files, sub_dirs = count_files_and_dirs(item_path)
files += sub_files
dirs += sub_dirs
return files, dirs
path = '/path/to/directory'
files, dirs = count_files_and_dirs(path)
print(f'Total number of files: {files}')
print(f'Total number of directories: {dirs}')
```
该函数接受一个目录路径作为参数,返回该目录下所有文件数和目录数的元组。在函数内部,使用 `os.listdir` 函数获取目录下所有文件和目录的列表。遍历列表中的每一项,如果是文件则将文件计数器加一,如果是目录则将目录计数器加一,并递归调用 `count_files_and_dirs` 函数获取该子目录下的文件数和目录数,最后将子目录的文件数和目录数加到总的文件数和目录数中。最终返回总的文件数和目录数的元组,供调用方使用。
阅读全文