如何在 Python 中检查文件大小

Azaz Farooq 2023年1月30日 2020年11月24日
  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