如何在 Python 中检查文件大小

Azaz Farooq 2023年1月30日
  1. 在 Python 中使用 pathlib 模块检查文件大小
  2. 在 Python 中使用 os.path() 方法检查文件大小
  3. 在 Python 中使用 os.stat 方法检查文件大小
  4. 在 Python 中使用文件对象方法检查文件大小
如何在 Python 中检查文件大小

文件是存储在一个单位中的不同数据的集合。文件大小评估一个文件在硬盘等存储介质中需要多少空间。它可以用不同的内存单位来衡量,如千字节(kB)、百万字节(MB)和千兆字节(GB)等。

本文将介绍在 Python 中检查文件大小的不同方法。

在 Python 中使用 pathlib 模块检查文件大小

Path 对象的 stat() 方法返回文件的详细属性,如 st_modest_dev 等。stat 方法的 st_size 属性以字节为单位给出文件的大小。

完整的示例代码如下。

from pathlib import Path

Path(r"C:\test\file1.txt").stat()
file_size = Path(r"C:\test\file1.txt").stat().st_size
print("The file size is:", file_size, "bytes")

我们必须将 r 放在前面以使文件路径成为原始字符串;否则,我们需要转义反斜杠,如 C:\\test\\file1.txt

输出:

The file size is: 40 bytes

在 Python 中使用 os.path() 方法检查文件大小

这个 Python 的模块 os.path 有一个函数 getsize,它以文件路径为参数,以字节为单位返回文件大小。

完整的示例代码如下。

import os

file_size = os.path.getsize(r"C:\test\file1.txt")
print("File Size:", file_size, "bytes")

输出:

File Size: 20 bytes

在 Python 中使用 os.stat 方法检查文件大小

这个 Python os 模块还提供了一个 stat 方法来检查文件大小。它还将文件路径作为参数并返回一个结构类型的对象。这个对象有一个 st_size 属性,以字节为单位给出文件大小。

完整的示例代码如下。

import os

file_size = os.stat(r"C:\test\file1.txt")
print("File Size is", file_size.st_size, "bytes")

输出:

Size of file is 40 bytes

在 Python 中使用文件对象方法检查文件大小

我们将文件路径传递给 open() 函数,并获得可用于文件处理操作的文件对象。

完整的示例代码如下。

import os

with open(r"C:\test\file1.txt") as file_obj:
    file_obj.seek(0, os.SEEK_END)
    print("File Size is", file_obj.tell(), "bytes")

输出:

File Size is 40 bytes

所需文件被打开后,文件光标在文件的起始处。文件对象的 seek 方法将把文件光标设置到所需位置。

file_obj.seek(0, os.SEEK_END)

seek() 方法的第一个参数是 File 对象的偏移量,第二个参数是文件的参考位置。os.SEEK_END 指定了到文件对象末端的参考位置。

因此,上述脚本行将光标设置为文件对象的末端。

文件对象的 tell() 方法返回当前光标位置。因为光标已经被设置为结束,所以这里的结果等于文件大小。

相关文章 - Python File