如何在 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