To nie jest niezależny od systemu operacyjnego, ale to działa na Linux, a prawdopodobnie na OS X, a także: ('df').
druku commands.getoutput split ('\ n') [ 1] .split() [3]
Jak to działa? Otrzymuje wynik "df." polecenie, które podaje informacje o dysku, na którym znajduje się bieżący katalog, dzieli go na dwie linie (dokładnie tak, jak jest drukowane na ekranie), a następnie pobiera drugą linię (dodając [1] po pierwszy split()), a następnie dzieli , który linii na różne części oddzielające odstępy, a na końcu daje 4. element na tej liście.
>>> commands.getoutput('df .')
'Filesystem 1K-blocks Used Available Use% Mounted on\n/dev/sda3 80416836 61324872 15039168 81% /'
>>> commands.getoutput('df .').split('\n')
['Filesystem 1K-blocks Used Available Use% Mounted on', '/dev/sda3 80416836 61324908 15039132 81% /']
>>> commands.getoutput('df .').split('\n')[1]
'/dev/sda3 80416836 61324908 15039132 81% /'
>>> commands.getoutput('df .').split('\n')[1].split()
['/dev/sda3', '80416836', '61324912', '15039128', '81%', '/']
>>> commands.getoutput('df .').split('\n')[1].split()[3]
'15039128'
>>> print commands.getoutput('df .').split('\n')[1].split()[3]
15039128
Podejście wieloplatformowy omówione http://stackoverflow.com/questions/51658/cross-platform-space-remaining -on-volume-using-python/2372171 # 2372171 –