使用python计算inode使用百分比

时间:2013-12-22 07:19:13

标签: python linux

我正在尝试计算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% /

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

1 个答案:

答案 0 :(得分:2)

如果您使用Python 2.x,则int / int会导致int内置。你应该先把它转换为浮动。

>>> 1/2
0
>>> 1.0/2
0.5
>>> float(1)/2
0.5

print(float(total_inode - free_inode) / total_inode)