如何在 Python 中檢查檔案大小
Azaz Farooq
2023年1月30日
2020年11月24日
-
在 Python 中使用
pathlib
模組檢查檔案大小 -
在 Python 中使用
os.path()
方法檢查檔案大小 -
在 Python 中使用
os.stat
方法檢查檔案大小 - 在 Python 中使用檔案物件方法檢查檔案大小
檔案是儲存在一個單位中的不同資料的集合。檔案大小評估一個檔案在硬碟等儲存介質中需要多少空間。它可以用不同的記憶體單位來衡量,如千位元組(kB)、百萬位元組(MB)和千兆位元組(GB)等。
本文將介紹在 Python 中檢查檔案大小的不同方法。
在 Python 中使用 pathlib
模組檢查檔案大小
Path
物件的 stat()
方法返回檔案的詳細屬性,如 st_mode
、st_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()
方法返回當前游標位置。因為游標已經被設定為結束,所以這裡的結果等於檔案大小。