import commands
value,result=commands.getstatusoutput('df -h')
print result
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LVroot
16G 15G 331M 98% /
/dev/mapper/VolGroup00-LVtmp
6.4G 591M 5.5G 10% /tmp
/dev/mapper/VolGroup00-LVvar
28G 1.2G 25G 5% /var
/dev/mapper/VolGroup00-LVhome
450M 228M 199M 54% /home
/dev/sda1 99M 40M 55M 42% /boot
tmpfs 1.9G 0 1.9G 0% /dev/shm
result
'Filesystem Size Used Avail Use% Mounted on\n/dev/mapper/VolGroup00-LVroot\n 16G 15G 331M 98% /\n/dev/mapper/VolGroup00-LVtmp\n 6.4G 591M 5.5G 10% /tmp\n/dev/mapper/VolGroup00-LVvar\n 28G 1.2G 25G 5% /var\n/dev/mapper/VolGroup00-LVhome\n 450M 228M 199M 54% /home\n/dev/sda1 99M 40M 55M 42% /boot\ntmpfs 1.9G 0 1.9G 0% /dev/shm\n
这里我有个疑问!
变量result得到的是一串字符串!
如果我只想取其中某一行该怎么办?
我现在使用的方法是先将result放到一个文件中,在通过readlines()这个方法就能获得一行一行的了....
但感觉这个比较蠢... 有更好的方法吗?
首先
commands
是已经被废弃的库了,应该用subprocess
。然后通过设置
stdout=subprocess.PIPE
,你可以像读文件一样读输出,自然也支持readline
。