编写一个程序,要求用户输入一个文件夹路径,程序需要递归地遍历该文件夹下的所有文件和子文件夹,并将所有文件的大小求和 python
时间: 2023-06-26 18:04:18 浏览: 99
遍历目录下所有文件及大小(包括文件夹内文件)
可以使用 Python 自带的 os 模块来实递归遍历文件夹和获取文件大小。
以下是一个示例代码:
```python
import os
def get_folder_size(folder_path):
total_size = 0
for dirpath, dirnames, filenames in os.walk(folder_path):
for f in filenames:
fp = os.path.join(dirpath, f)
total_size += os.path.getsize(fp)
return total_size
folder_path = input("请输入文件夹路径:")
print("文件夹大小为:", get_folder_size(folder_path), "bytes")
```
这个程序会提示用户输入一个文件夹路径,然后调用 `get_folder_size` 函数来计算文件夹大小,最后输出计算结果。
`os.walk` 函数会递归遍历文件夹下的所有子文件夹和文件,返回一个三元组 `(dirpath, dirnames, filenames)`。其中 `dirpath` 是当前文件夹的路径,`dirnames` 是当前文件夹下的所有子文件夹的名称列表,`filenames` 是当前文件夹下的所有文件的名称列表。
对于每个文件,我们可以使用 `os.path.join` 函数来获取其完整路径,然后调用 `os.path.getsize` 函数获取其大小,并将其累加到总大小变量 `total_size` 上。
最后,我们返回总大小变量作为计算结果,并将其打印出来。
阅读全文