为了账号安全,请及时绑定邮箱和手机立即绑定

Python中目录的磁盘使用情况

Python中目录的磁盘使用情况

斯蒂芬大帝 2021-03-03 13:14:46
为了安全起见,我有一些bash代码将文件和目录移动到/tmp/rmf而不是删除它们。我正在将代码迁移到Python以添加一些功能。添加的功能之一是检查上的可用大小,/tmp并断言已移动的目录可以放入其中/tmp。使用os.statvfs检查可用空间,但是如何测量已移动目录的磁盘使用情况?我可以透过电话du使用subprocess,或递归遍历目录树,总结每个文件的大小。哪种方法更好?
查看完整描述

2 回答

?
慕的地6264312

TA贡献1817条经验 获得超6个赞

我认为您可能想重新考虑您的策略。两个原因:

  1. 检查是否可以移动文件,断言可以移动文件,然后移动文件为操作提供了内置的竞争条件。在声明之后但在移动文件之前,将在/ tmp /中创建一个大文件。

  2. 在文件系统之间移动文件将导致大量开销。这就是为什么在OSX上每个卷都有自己的“废纸'”目录的原因。您无需移动构成文件的块,而只需创建一个指向现有数据的新索引节点即可。

我会考虑文件需要多长时间可用以及文件使用方的可见性。如果这是后端自动发生的所有事情-重命名文件以使其从计算机和人类消费者中“隐藏”起来,在大多数情况下就很容易了,并且具有原子操作的额外好处)

偶尔扫描文件系统以查找“旧”文件,以将其删除并在宽限期过后将其删除。没戏 由于它只是要还原的重命名,因此还使还原文件变得容易得多。


查看完整回答
反对 回复 2021-03-26
  • 2 回答
  • 0 关注
  • 175 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号