首页 话题 小组 问答 好文 用户 我的社区 域名交易 唠叨

[教程]揭秘Python高效遍历图片与txt文件大小:一招轻松掌握文件体积的秘密

发布于 2025-07-21 09:30:05
0
1117

在处理文件时,了解文件大小是至关重要的。对于图片和文本文件,掌握其体积可以帮助我们进行资源管理、优化存储空间或评估文件传输时间。Python 提供了多种方法来高效地遍历文件并获取其大小。本文将详细介绍...

在处理文件时,了解文件大小是至关重要的。对于图片和文本文件,掌握其体积可以帮助我们进行资源管理、优化存储空间或评估文件传输时间。Python 提供了多种方法来高效地遍历文件并获取其大小。本文将详细介绍如何使用 Python 脚本轻松获取图片和 txt 文件的大小。

1. 使用 os 模块遍历文件

Python 的 os 模块提供了丰富的文件和目录操作功能。使用 os.listdir() 函数可以列出指定目录下的所有文件和文件夹,而 os.path.getsize() 函数可以获取文件的大小。

1.1 遍历目录

以下是一个示例代码,展示如何遍历指定目录下的所有文件和文件夹:

import os
def list_files(directory): for filename in os.listdir(directory): path = os.path.join(directory, filename) if os.path.isfile(path): print(f"File: {path}") else: print(f"Directory: {path}")
# 使用示例
list_files('/path/to/directory')

1.2 获取文件大小

在遍历文件时,我们可以使用 os.path.getsize() 函数来获取文件大小。以下是一个示例代码,展示如何获取指定目录下所有文件的大小:

import os
def get_file_sizes(directory): for filename in os.listdir(directory): path = os.path.join(directory, filename) if os.path.isfile(path): size = os.path.getsize(path) print(f"{filename}: {size} bytes")
# 使用示例
get_file_sizes('/path/to/directory')

2. 使用 pathlib 模块遍历文件

Python 的 pathlib 模块提供了一个面向对象的方式来处理文件系统路径。使用 pathlib 模块遍历文件和获取文件大小同样简单。

2.1 遍历目录

以下是一个示例代码,展示如何使用 pathlib 模块遍历指定目录下的所有文件和文件夹:

from pathlib import Path
def list_files(directory): for entry in Path(directory).iterdir(): if entry.is_file(): print(f"File: {entry}") else: print(f"Directory: {entry}")
# 使用示例
list_files('/path/to/directory')

2.2 获取文件大小

使用 pathlib 模块获取文件大小与 os.path.getsize() 类似。以下是一个示例代码,展示如何获取指定目录下所有文件的大小:

from pathlib import Path
def get_file_sizes(directory): for entry in Path(directory).iterdir(): if entry.is_file(): size = entry.stat().st_size print(f"{entry}: {size} bytes")
# 使用示例
get_file_sizes('/path/to/directory')

3. 针对图片和 txt 文件的优化

对于图片和 txt 文件,我们可以根据文件扩展名进行过滤,以便只获取我们感兴趣的文件大小。

3.1 过滤文件类型

以下是一个示例代码,展示如何只获取指定目录下图片和 txt 文件的大小:

from pathlib import Path
def get_image_txt_sizes(directory): for entry in Path(directory).iterdir(): if entry.is_file() and (entry.suffix == '.jpg' or entry.suffix == '.txt'): size = entry.stat().st_size print(f"{entry}: {size} bytes")
# 使用示例
get_image_txt_sizes('/path/to/directory')

通过以上方法,我们可以轻松地遍历图片和 txt 文件,并获取其大小。这些方法不仅简单易用,而且高效,适合处理大量文件。在实际应用中,可以根据具体需求进行适当调整和优化。

评论
一个月内的热帖推荐
csdn大佬
Lv.1普通用户

452398

帖子

22

小组

841

积分

赞助商广告
站长交流