我正在尝试计算 python 中 inode 使用的百分比。
这是我的示例python代码

st = os.statvfs(path)
free  = (st.f_bavail * st.f_frsize) / 1024
total = (st.f_blocks * st.f_frsize) / 1024
used  = ((st.f_blocks - st.f_bfree) * st.f_frsize) / 1024
total_inode = st.f_files        # inodes
free_inode = st.f_ffree   #free inodes


# df -i /
Filesystem            Inodes   IUsed   IFree IUse% Mounted on
none                 8257011   69850 8187161    1% /

但是如何计算 df -i 命令中显示的 %inode?我试过“total_inodes-free_inodes/total_inodes”,但它给出了错误的使用百分比。

最佳答案

如果您使用 Python 2.x,则 int/int 会导致 int floored。您应该先将其转换为 float 。

>>> 1/2
0
>>> 1.0/2
0.5
>>> float(1)/2
0.5
print(float(total_inode - free_inode) / total_inode)

关于python - 使用python计算inode使用率百分比,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20727179/

10-13 07:40