Python String

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()这个方法就能获得一行一行的了....

但感觉这个比较蠢... 有更好的方法吗?

阅读 3.1k
2 个回答

首先 commands 是已经被废弃的库了,应该用 subprocess

然后通过设置 stdout=subprocess.PIPE,你可以像读文件一样读输出,自然也支持 readline

string有个splitlines方法
用这个直接在内存中把数据按行进行分割了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题