我在 Linux 上使用 Python 2.6。最快的方法是什么:
- 确定哪个分区包含给定的目录或文件?
例如,假设 /dev/sda2
安装在 /home
上,并且 /dev/mapper/foo
安装在 /home/foo
上。从字符串 "/home/foo/bar/baz"
我想恢复这对 ("/dev/mapper/foo", "home/foo")
。
- 然后,获取给定分区的使用统计信息?例如,给定
/dev/mapper/foo
我想获得分区的大小和可用空间(以字节为单位或大约以兆字节为单位)。
原文由 Federico A. Ramponi 发布,翻译遵循 CC BY-SA 4.0 许可协议
如果您只需要设备上的可用空间,请使用下面的
os.statvfs()
查看答案。如果您还需要与文件关联的设备名称和挂载点,则应调用外部程序来获取此信息。
df
将提供你需要的所有信息——当被称为df filename
它打印一行关于包含文件的分区。举个例子:
请注意,这是相当脆弱的,因为它取决于
df
输出的确切格式,但我不知道更强大的解决方案。 (有一些解决方案依赖于下面的/proc
文件系统,它们的可移植性甚至比这个更差。)