在处理文件时,了解文件大小是至关重要的。对于图片和文本文件,掌握其体积可以帮助我们进行资源管理、优化存储空间或评估文件传输时间。Python 提供了多种方法来高效地遍历文件并获取其大小。本文将详细介绍...
在处理文件时,了解文件大小是至关重要的。对于图片和文本文件,掌握其体积可以帮助我们进行资源管理、优化存储空间或评估文件传输时间。Python 提供了多种方法来高效地遍历文件并获取其大小。本文将详细介绍如何使用 Python 脚本轻松获取图片和 txt 文件的大小。
Python 的 os 模块提供了丰富的文件和目录操作功能。使用 os.listdir() 函数可以列出指定目录下的所有文件和文件夹,而 os.path.getsize() 函数可以获取文件的大小。
以下是一个示例代码,展示如何遍历指定目录下的所有文件和文件夹:
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')在遍历文件时,我们可以使用 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')Python 的 pathlib 模块提供了一个面向对象的方式来处理文件系统路径。使用 pathlib 模块遍历文件和获取文件大小同样简单。
以下是一个示例代码,展示如何使用 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')使用 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')对于图片和 txt 文件,我们可以根据文件扩展名进行过滤,以便只获取我们感兴趣的文件大小。
以下是一个示例代码,展示如何只获取指定目录下图片和 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 文件,并获取其大小。这些方法不仅简单易用,而且高效,适合处理大量文件。在实际应用中,可以根据具体需求进行适当调整和优化。