写一段python递归文件夹获取大小的代码
时间: 2024-02-05 07:05:18 浏览: 23
好的,以下是递归文件夹获取大小的Python代码示例:
```python
import os
def get_folder_size(path):
total_size = 0
for dirpath, dirnames, filenames in os.walk(path):
for f in filenames:
fp = os.path.join(dirpath, f)
if os.path.isfile(fp):
total_size += os.path.getsize(fp)
return total_size
```
这段代码定义了一个函数 `get_folder_size`,它接受一个路径参数 `path`,并返回该路径下所有文件的大小之和。该函数使用 `os.walk` 函数遍历目录树,对于每个文件,使用 `os.path.getsize` 函数获取文件大小,并将其累加到 `total_size` 变量中。最后返回累加结果作为函数的返回值。
注意,这段代码只计算文件的大小,不包括目录的大小。如果需要计算目录的大小,需要对目录进行递归处理。
相关问题
请用Python写一段递归遍历文件夹里面的文件
好的,下面是Python中递归遍历文件夹里面的文件的代码实现:
```python
import os
def traverse_folder(path):
for file in os.listdir(path):
file_path = os.path.join(path, file)
if os.path.isdir(file_path):
traverse_folder(file_path)
elif os.path.isfile(file_path):
print(file_path)
# 示例
traverse_folder('/path/to/folder')
```
这段程序可以遍历指定路径下的所有文件和文件夹,如果遇到文件夹就继续递归遍历,直到遇到文件为止。在这个示例中,我们将要遍历的文件夹路径作为参数传递给`traverse_folder()`函数即可。
写一段可以批量创建文件夹的python代码
当然,这是一个可以批量创建文件夹的简单的Python代码示例:
```python
import os
def create_folders(folder_names, base_directory):
for name in folder_names:
folder_path = os.path.join(base_directory, name)
os.makedirs(folder_path, exist_ok=True)
print(f"Created folder: {folder_path}")
# 示例用法
folder_names = ['folder1', 'folder2', 'folder3']
base_directory = '/path/to/directory'
create_folders(folder_names, base_directory)
```
在上面的示例代码中,我们定义了一个名为`create_folders`的函数,它接受两个参数:`folder_names`表示要创建的文件夹名称列表,`base_directory`表示基础目录,即要在其下创建文件夹。
函数内部使用`os.makedirs`函数来创建文件夹。`os.makedirs`函数可以递归地创建目录,如果目录已经存在,则不会引发异常。我们还使用`os.path.join`函数来构建完整的文件夹路径。
你可以根据需要修改`folder_names`和`base_directory`的值,并调用`create_folders`函数来批量创建文件夹。每次创建成功后,会打印出已创建的文件夹路径。