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内置的模块,我们还可以使用一些第三方库来获取文件大小。其中,常用的第三方库包括pywin32
、psutil
等。
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)。上述方法均能够方便地获取文件大小,选择合适的方法取决于具体的应用场景和操作系统环境。在实际使用中,可以根据需求选择其中一种方法进行使用。