Python中目录的磁盘使用情况
为了安全起见,我有一些bash代码 我正在将代码迁移到Python以添加一些功能。新增功能之一是检查Python中目录的磁盘使用情况,python,du,Python,Du,为了安全起见,我有一些bash代码 我正在将代码迁移到Python以添加一些功能。新增功能之一是检查/tmp上的可用大小,并断言移动的目录可以放入/tmp 检查可用空间是使用完成的,但如何测量移动目录的磁盘使用率 我可以使用subprocess调用du,或者递归地迭代目录树并求每个文件的大小之和。哪种方法更好?我认为您可能需要重新考虑您的策略。原因有二: 检查是否可以移动文件,断言可以移动文件,然后移动文件为操作提供了内置的争用条件。断言后但在移动文件之前,会在/tmp/中创建一个大文件。。Do
/tmp
上的可用大小,并断言移动的目录可以放入/tmp
检查可用空间是使用完成的,但如何测量移动目录的磁盘使用率
我可以使用
subprocess
调用du
,或者递归地迭代目录树并求每个文件的大小之和。哪种方法更好?我认为您可能需要重新考虑您的策略。原因有二:
我会考虑文件需要多长时间以及文件的消费者的可见性。如果所有这些都是在后端进行的自动化操作,那么在大多数情况下,重命名一个文件以“隐藏”它,使其不被计算机和人类用户看到是很容易的,并且具有原子操作的附加好处)
偶尔扫描文件系统中的“旧”文件,以便在一段宽限期后对其进行筛选和rm。没有戏剧性。由于只需重命名即可恢复文件,因此恢复文件也变得容易多了。这应该可以做到:
import os
path = 'THE PATH OF THE DIRECTORY YOU WANT TO FETCH'
os.statvfs(path)
请看:这只适用于linux/Unix:statvfs只能提供FS信息,而不仅仅是一条路径