Python获取文件大小

Python获取文件大小

Python获取文件大小

文件大小是指文件所占用的磁盘空间大小,单位通常以字节(Byte)为衡量标准。在Python中,我们可以使用一些方法来获取文件的大小信息。本文将详细介绍如何在Python中获取文件大小,包括使用标准库和第三方库提供的方法。

一、使用os模块

os模块是Python标准库中的一个常用模块,提供了许多与操作系统相关的功能。其中,os模块中的os.path.getsize()函数可以用来获取文件的大小。

示例代码如下:

import os

filename = 'example.txt'
file_size = os.path.getsize(filename)

print("文件名: ", filename)
print("文件大小(字节): ", file_size)

运行结果如下:

文件名:  example.txt
文件大小(字节):  1207

上述代码中,首先导入了os模块。然后,定义了一个变量filename,并赋值为待获取大小的文件名。接下来,调用os.path.getsize()函数,并将文件名作为参数传入该函数。os.path.getsize()函数会返回文件大小(以字节为单位)。最后,使用print函数分别输出文件名和文件大小。

二、使用pathlib模块

pathlib是Python中用于处理文件路径的模块,在Python 3.4及以上版本中已经内置。使用pathlib模块,我们可以通过Path类获取文件大小。

示例代码如下:

from pathlib import Path

filename = 'example.txt'
file_size = Path(filename).stat().st_size

print("文件名: ", filename)
print("文件大小(字节): ", file_size)

运行结果与前述示例相同。

上述代码中,首先从pathlib模块中导入Path类。然后,定义了一个变量filename,并赋值为待获取大小的文件名。接下来,通过调用Path类,并传入文件名作为参数创建一个Path对象。然后,使用stat()方法获取文件的stat信息(包含了文件的大小等信息),再通过.st_size属性获取文件大小。最后,使用print函数分别输出文件名和文件大小。

三、使用第三方库

除了使用Python内置的模块,我们还可以使用一些第三方库来获取文件大小。其中,常用的第三方库包括pywin32psutil等。

1. pywin32

pywin32是Python对Windows操作系统API的封装。通过使用pywin32中的win32api模块,可以方便地获取文件的属性信息,包括文件大小。

示例代码如下:

import win32api

filename = 'example.txt'
file_size = win32api.GetFileSize(filename)

print("文件名: ", filename)
print("文件大小(字节): ", file_size)

运行结果与前述示例相同。

上述代码中,首先导入了win32api模块。然后,定义了一个变量filename,并赋值为待获取大小的文件名。接下来,通过调用GetFileSize()函数,并将文件名作为参数传入该函数,以获取文件大小。最后,使用print函数分别输出文件名和文件大小。

2. psutil

psutil是一个跨平台的系统监控库,提供了获取系统信息的各种函数。通过使用psutil中的disk_usage()函数,我们可以方便地获取文件的大小。

示例代码如下:

import psutil

filename = 'example.txt'
file_size = psutil.disk_usage(filename).used

print("文件名: ", filename)
print("文件大小(字节): ", file_size)

运行结果与前述示例相同。

上述代码中,首先导入了psutil模块。然后,定义了一个变量filename,并赋值为待获取大小的文件名。接下来,通过调用disk_usage()函数,并将文件名作为参数传入该函数,以获取文件大小。其中,disk_usage().used表示获取文件所占用的磁盘空间大小。最后,使用print函数分别输出文件名和文件大小。

四、总结

本文介绍了在Python中获取文件大小的方法,包括使用os模块、pathlib模块以及第三方库(如pywin32和psutil)。上述方法均能够方便地获取文件大小,选择合适的方法取决于具体的应用场景和操作系统环境。在实际使用中,可以根据需求选择其中一种方法进行使用。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程