写一段python递归文件夹获取大小的代码
时间: 2024-02-05 11:05:18 浏览: 86
好的,以下是递归文件夹获取大小的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 traverse(dir_path):
for file_name in os.listdir(dir_path):
file_path = os.path.join(dir_path, file_name)
if os.path.isdir(file_path):
traverse(file_path) # 如果是文件夹,则递归遍历
else:
print(file_path) # 如果是文件,则打印文件路径
dir_path = '/path/to/your/folder'
traverse(dir_path)
```
在这个代码中,我们定义了一个 `traverse` 函数,输入参数是一个文件夹路径 `dir_path`。函数首先使用 `os.listdir` 获取 `dir_path` 文件夹中的所有文件和文件夹,然后通过 `os.path.join` 合成完整的文件路径。如果当前遍历到的是一个文件夹,就递归调用 `traverse` 函数,直到遍历到的是一个文件,然后就打印该文件的路径。
这个代码虽然简单,但在遇到大量文件和文件夹的情况下,可能会比较耗时。为了让代码高效运行,我们可以利用 Python 的多线程机制,把遍历操作分成多个线程同时执行,以提高整体的遍历速度。
阅读全文