Python os.fstatvfs() 方法



Python OS 模組的 fstatvfs() 方法用於檢索與相應檔案描述符關聯的檔案所在檔案系統的資訊。

當我們用有效的檔案描述符呼叫此方法時,它會在與該檔案描述符關聯的路徑上執行“statvfs()”系統呼叫。該方法返回一個“os.statvfs_result”類的物件,其中包含表示檔案系統各種詳細資訊的屬性。這些屬性列在下面:

  • f_bsize - 檔案系統塊大小

  • f_frsize - 碎片大小

  • f_blocks - 以 f_frsize 單位表示的 fs 大小

  • f_bfree - 空閒塊

  • f_bavail - 非 root 使用者可用的空閒塊

  • f_files - inode

  • f_ffree - 空閒 inode

  • f_favail - 非 root 使用者可用的空閒 inode

  • f_fsid - 檔案系統 ID

  • f_flag - 掛載標誌

  • f_namemax - 最大檔名長度

語法

Python os.fstatvfs() 方法的語法如下:

os.fstatvfs(fd)

引數

Python os.fstatvfs() 方法接受一個引數:

  • fd - 這是要返回系統資訊的檔案描述符。

返回值

Python os.fstatvfs() 方法返回有關檔案系統的資訊。

示例

如果我們將檔案描述符作為引數值傳遞給 fstatvfs() 方法,它將以“os.statvfs_result”物件的格式返回檔案系統資訊,如下例所示。

#!/usr/bin/python
import os, sys

# Open a file
fd = os.open( "foo.txt", os.O_RDWR|os.O_CREAT )

# Now get  the touple
info = os.fstatvfs(fd)
print ("File Info :", info)

# Close opened file
os.close( fd)
print("File closed successfully!!")

當我們執行上述程式時,它會產生以下結果:

File Info : os.statvfs_result(f_bsize=4096, f_frsize=4096, 
f_blocks=6276673, f_bfree=3002417, f_bavail=2677246, 
f_files=1605632, f_ffree=1375154, f_favail=1375154, f_flag=4096, f_namemax=255)

File closed successfully!!

示例

在以下示例中,我們將“os.statvfs_result”物件的兩個名為“f_namemax”和“f_bfree”的屬性傳遞給 fstatvfs() 方法。這將顯示最大檔名長度和空閒塊。

#!/usr/bin/python
import os, sys

# Open a file
fd = os.open( "foo.txt", os.O_RDWR|os.O_CREAT )
info = os.fstatvfs(fd)

# Now get maximum filename length
print ("Maximum filename length :%d" % info.f_namemax)

# Now get free blocks
print ("Free blocks :%d" % info.f_bfree)

# Close opened file
os.close( fd)
print("File closed successfully!!")

當我們執行上述程式碼時,它將顯示以下輸出:

Maximum filename length :255
Free blocks :3002417
File closed successfully!!
python_files_io.htm
廣告