编写一个python程序,要求用户输入一个文件夹路径,程序需要递归地遍历该文件夹下的所有文件和子文件夹,并将所有文件的大小求和。
时间: 2023-06-16 18:07:29 浏览: 80
可以使用os模块来实现遍历文件夹和获取文件大小:
```python
import os
def get_folder_size(folder_path):
size = 0
for root, dirs, files in os.walk(folder_path):
for file in files:
file_path = os.path.join(root, file)
size += os.path.getsize(file_path)
return size
folder_path = input("请输入文件夹路径:")
total_size = get_folder_size(folder_path)
print("文件夹大小为:{} 字节".format(total_size))
```
首先定义一个函数`get_folder_size`,接收一个文件夹路径作为参数,返回该文件夹下所有文件的大小之和。在函数中,使用os.walk遍历文件夹下的所有文件和子文件夹,并使用os.path.getsize获取文件大小,累加到变量size中。最后返回size。
接下来,通过input函数获取用户输入的文件夹路径,调用get_folder_size函数获取文件夹大小,并输出结果。
相关问题
编写一个程序,要求用户输入一个文件夹路径,程序需要递归地遍历该文件夹下的所有文件和子文件夹,并将所有文件的大小求和 python
可以使用 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` 上。
最后,我们返回总大小变量作为计算结果,并将其打印出来。
python编写一个程序,要求用户输入一个文件夹路径,程序需要递归地遍历该文件夹下的所有文件和子文件夹,并将所有文件的大小求和。
可以使用递归函数来实现,具体代码如下:
```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:
# 计算文件大小并累加到总大小中
file_path = os.path.join(dirpath, filename)
total_size += os.path.getsize(file_path)
return total_size
# 获取用户输入的文件夹路径
folder_path = input("请输入文件夹路径:")
# 计算文件夹大小
folder_size = get_folder_size(folder_path)
print("文件夹大小为:", folder_size, "字节")
```
使用 `os.walk` 函数可以遍历一个文件夹下的所有文件和子文件夹,其中 `dirpath` 表示当前文件夹的路径,`dirnames` 表示当前文件夹下的子文件夹列表,`filenames` 表示当前文件夹下的文件列表。使用 `os.path.join` 函数可以拼接出文件的完整路径,然后使用 `os.path.getsize` 函数可以获取文件的大小。最终将所有文件的大小累加到总大小中并返回。
阅读全文