Вы можете использовать df в качестве кроссплатформенного способа. Он входит в состав основных утилит GNU . Это основные утилиты, которые, как ожидается, существуют в каждой операционной системе. Однако по умолчанию они не устанавливаются в Windows (здесь GetGnuWin32 пригодится).
df - утилита командной строки, поэтому для сценариев требуется оболочка.
Например:
from subprocess import PIPE, Popen
def free_volume(filename):
"""Find amount of disk space available to the current user (in bytes)
on the file system containing filename."""
stats = Popen(["df", "-Pk", filename], stdout=PIPE).communicate()[0]
return int(stats.splitlines()[1].split()[3]) * 1024