替代python statvfs的方法?

9
自从Python 2.6版本起,Python statvfs模块已被标记为过时,并在Python 3.0中被移除。我无法确定应用程序在想要获取有关磁盘的信息时应该使用什么,特别是如何检查给定路径的容量和可用空间。有人有任何想法吗?这是在OS X上进行的,如果有区别的话,尽管跨平台将是一个加分项。
2个回答

11
只有包含顺序访问常量的模块被弃用了。
进行中...
x = os.statvfs('/')
x.f_favail 

仍然可以工作。

顺便提一下,根据文档,此函数仅适用于基于unix的平台。因此,OSX和Linux变体都可以,FreeBSD和其他操作系统也可以,但Windows不行。


1
似乎Android也不支持os.statvfs()函数。 - user234932
1
os.statvfs 在 Python3 中被删除。自Python 2.6开始它已经被弃用,请参阅 python statvfs doc - Franklin Piat
1
@FranklinPiat 澄清一下,statvfs模块已被弃用,但在os模块中,os.statvfs()函数仍然适用于Unix系统(参见https://docs.python.org/3/library/os.html#os.statvfs)。弃用的写法是:`os.statvfs('/')[statvfs.F_FAVAIL]`,正确的写法是:`os.statvfs('/') .f_favail`。但是,如果你需要在Windows上使用,就要使用其他方法(参见https://dev59.com/pnVD5IYBdhLWcg3wNYxZ#2372171)。 - Bob Stein

0

我有同样的问题,它是os.fstatvfs(fd)

从Python 3.3开始,这相当于os.statvfs(fd)。可用性:Unix。


它是否具有由statvfs.F_BLOCKS、statvfs.F_BSIZE公开的那些常量? - jeffry copps

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接