递归遍历目录,显示其中的文件名和目录名。若为文件,则直接显示文件的大小;若为目录,则显示目录中的文件和子目录。注意显示文件大小的单位(KB或MB)。
时间: 2024-10-23 12:06:16 浏览: 33
使用Dir函数遍历文件和目录.doc
递归遍历目录并显示文件名、目录名以及其大小是一个常见的操作系统任务,特别是在处理文件系统时。在许多编程语言中,包括Python和Java,你可以使用内置函数来实现这个功能。这里以Python为例,简单说明如何使用os和shutil模块:
```python
import os
import shutil
def list_files_and_sizes(path):
if os.path.isfile(path):
# 文件
size = os.path.getsize(path)
if size < 1024: # KB
size_str = f"{size}B"
elif size < 1024 * 1024: # MB
size_str = f"{size / 1024:.2f}KB"
else:
size_str = f"{size / (1024 * 1024):.2f}MB"
print(f"{path}: {size_str}")
elif os.path.isdir(path):
# 目录
for item in os.listdir(path):
full_path = os.path.join(path, item)
list_files_and_sizes(full_path)
# 调用函数,从指定路径开始
start_path = '/path/to/start'
list_files_and_sizes(start_path)
```
当你运行这个脚本时,它会递归地访问给定的`start_path`,打印出所有文件的大小(按KB或MB),同时如果遇到子目录,还会继续递归下去。
阅读全文