.编写一个程序,要求用户输入一个文件夹路径,程序需要递归地遍历该文件夹下的所有文件和子文件夹,并将所有文件的大小求和。
时间: 2024-05-16 12:17:34 浏览: 54
以下是Python代码实现:
```python
import os
def get_folder_size(folder_path):
total_size = 0
for dirpath, dirnames, filenames in os.walk(folder_path):
for file in filenames:
file_path = os.path.join(dirpath, file)
total_size += os.path.getsize(file_path)
return total_size
folder_path = input("请输入文件夹路径:")
if os.path.isdir(folder_path):
total_size = get_folder_size(folder_path)
print(f"文件夹 {folder_path} 总大小为:{total_size} bytes")
else:
print("输入的不是文件夹路径!")
```
首先,我们定义了一个 `get_folder_size` 函数,该函数使用 `os.walk()` 方法遍历文件夹下的所有文件和子文件夹,然后使用 `os.path.getsize()` 方法获得每个文件的大小,并将其累加到 `total_size` 变量中。
然后,我们要求用户输入文件夹路径,并使用 `os.path.isdir()` 方法检查该路径是否为文件夹。如果是文件夹,则调用 `get_folder_size` 函数计算文件夹总大小并输出结果。如果不是文件夹路径,则输出错误信息。
注意:在 Windows 系统中,路径分隔符为反斜杠(\),而在 Linux 或 macOS 系统中,路径分隔符为斜杠(/)。因此,如果您的程序需要在不同的操作系统上运行,请注意路径分隔符的区别。
阅读全文