3. 编写一个程序,要求用户输入一个文件夹路径,程序需要递归地遍历该文件夹下的所有文件和子文件夹,并将所有文件的大小求和。
时间: 2023-06-25 16:05:13 浏览: 98
C#递归实现显示文件夹及所有文件并计算其大小的方法
可以使用Python中的os和os.path模块来实现递归遍历文件夹和计算文件大小。
以下是一个示例代码:
```python
import os
def get_folder_size(folder_path):
total_size = 0
# 遍历文件夹
for dirpath, dirnames, filenames in os.walk(folder_path):
for filename in filenames:
# 获取文件路径
filepath = os.path.join(dirpath, filename)
# 计算文件大小
filesize = os.path.getsize(filepath)
# 累加文件大小
total_size += filesize
# 返回文件夹总大小
return total_size
# 获取用户输入的文件夹路径
folder_path = input("请输入文件夹路径:")
# 计算文件夹总大小
total_size = get_folder_size(folder_path)
# 输出文件夹总大小
print("文件夹总大小为:{}字节".format(total_size))
```
该程序首先通过`input()`函数获取用户输入的文件夹路径,然后调用`get_folder_size()`函数计算文件夹总大小。`get_folder_size()`函数使用`os.walk()`函数实现递归遍历文件夹,并使用`os.path.getsize()`函数计算文件大小,并累加文件大小。最后返回文件夹总大小。
注意,程序中使用的文件大小单位为字节。如果需要将文件大小转换为其他单位(例如KB、MB等),可以在计算文件大小时进行转换。
阅读全文