Python os.statvfs() 方法



Python 方法 os.statvfs() 在给定路径上执行 statvfs 系统调用。它用于检索文件系统的状态。

当我们调用 os.statvfs() 时,它会返回一个 statvfs_result 对象。此对象包含表示文件系统状态的各种属性。

语法

Python os.statvfs() 方法的语法如下 -


 os.statvfs(path)

参数

Python os.statvfs() 方法接受单个参数 -

  • path - 这是需要其 statvfs 信息的路径。

返回值

Python os.statvfs() 方法返回一个 statvfs_result 对象,其中包含以下属性 -

  • f_bsize - 首选文件系统块大小。
  • f_frsize − 基本文件系统块大小。
  • f_blocks − 文件系统中的块总数。
  • f_bfree − 可用区块的总数。
  • f_bavail − 非超级用户可用的免费块。
  • f_files − 文件节点的总数。
  • f_ffree − 可用文件节点的总数。
  • f_favail - 非超级用户可用的空闲节点。
  • f_flag − 取决于系统。
  • f_namemax − 最大文件名长度。

以下示例显示了 statvfs() 方法的用法。在这里,我们显示给定文件的 statvfs 信息。


import os, sys

# showing statvfs information of file "a1.py"
stinfo = os.statvfs("atty.py")

print (stinfo)

当我们运行上述程序时,它会产生以下结果——

os.statvfs_result(f_bsize=4096, f_frsize=4096, f_blocks=6276673,
f_bfree=2780772, f_bavail=2455601, f_files=1605632, f_ffree=1374428,
f_favail=1374428, f_flag=4096, f_namemax=255)

在此示例中,我们使用 statvfs_result 对象的属性访问与文件系统相关的各种信息。


import os

# file
fpath = "atty.py"

# Retrieve filesystem info
statsinfo = os.statvfs(fpath)

# Display filesystem info
print(f"File system block size: {statsinfo.f_bsize}")
print(f"Fragment size: {statsinfo.f_frsize}")
print(f"Total number of blocks: {statsinfo.f_blocks}")
print(f"Total number of free blocks: {statsinfo.f_bfree}")

在执行上述程序时,它将显示以下输出 -

File system block size: 4096
Fragment size: 4096
Total number of blocks: 6276673
Total number of free blocks: 2780767