Python如何批量获取文件夹的大小并保存

Python如何批量获取文件夹的大小并保存

在进行文件管理和存储调优时,了解文件夹大小是非常重要的。Python提供了很多方法来获取文件夹的大小,并且可以批量处理多个文件夹的大小。本文将介绍如何使用Python批量获取文件夹的大小,并将结果保存至文件。

使用os模块获取文件夹大小

Python的os模块提供了很多文件和目录操作的函数,其中包括获取文件夹大小的函数。使用os模块可以轻松地获取文件夹的大小。

下面是一个使用os模块获取单个文件夹大小的例子:

import os

def get_folder_size(folder_path):

total_size = 0

for path, dirs, files in os.walk(folder_path):

for f in files:

file_path = os.path.join(path, f)

total_size += os.path.getsize(file_path)

return total_size

folder_path = '/path/to/folder'

folder_size = get_folder_size(folder_path)

print('Folder size:', folder_size)

在上面的代码中,我们定义了一个名为get_folder_size的函数,它接受一个文件夹路径作为参数,并返回该文件夹的大小。使用os.walk函数遍历文件夹及其所有子文件夹,然后使用os.path.getsize函数获取每个文件的大小,并将其累加到total_size变量中。

通过调用get_folder_size函数,我们可以获取指定文件夹的大小。可以通过修改folder_path变量来指定不同的文件夹。

批量获取文件夹大小并保存

如果需要批量获取多个文件夹的大小,并将结果保存至文件,我们可以使用上述的get_folder_size函数,并结合其它Python库来实现。

下面是一个使用csv模块保存文件夹大小的例子:

import os

import csv

def get_folder_size(folder_path):

total_size = 0

for path, dirs, files in os.walk(folder_path):

for f in files:

file_path = os.path.join(path, f)

total_size += os.path.getsize(file_path)

return total_size

folder_paths = ['/path/to/folder1', '/path/to/folder2', '/path/to/folder3']

with open('folder_sizes.csv', 'w', newline='') as csvfile:

writer = csv.writer(csvfile)

writer.writerow(['Folder', 'Size'])

for folder_path in folder_paths:

folder_size = get_folder_size(folder_path)

writer.writerow([folder_path, folder_size])

在上面的代码中,我们使用了csv模块来创建和写入csv文件。首先,我们将要获取大小的文件夹路径保存在一个列表folder_paths中。然后,我们打开一个名为folder_sizes.csv的文件,并创建一个csv.writer对象。通过调用writerow函数,我们写入列名('Folder'和'Size')。接下来,使用for循环遍历folder_paths列表,并调用get_folder_size函数获取每个文件夹的大小。最后,将文件夹路径和大小写入到csv文件中。

通过上述代码,我们可以批量获取多个文件夹的大小,并将结果保存到名为folder_sizes.csv的文件中。可以根据需要修改folder_paths列表来指定不同的文件夹。

总结

本文介绍了如何使用Python批量获取文件夹的大小,并将结果保存至文件。通过使用os模块获取文件夹大小,我们可以方便地获取单个文件夹的大小。通过结合csv模块,我们还可以批量获取多个文件夹的大小,并将结果保存至文件供进一步分析和处理。

获取文件夹大小是文件管理和存储调优等任务中的重要一环,通过使用Python的强大功能,我们可以快速、灵活地实现这一操作。

免责声明:本文来自互联网,本站所有信息(包括但不限于文字、视频、音频、数据及图表),不保证该信息的准确性、真实性、完整性、有效性、及时性、原创性等,版权归属于原作者,如无意侵犯媒体或个人知识产权,请来电或致函告之,本站将在第一时间处理。猿码集站发布此文目的在于促进信息交流,此文观点与本站立场无关,不承担任何责任。

后端开发标签