我知道对你们中的许多人来说这很容易,但对我来说不是。所以我试图从shell输出数据,但是当我必须将它转换为字符串时我被卡住了。我试过了for
,但没有用。所以基本上,我正在尝试的是:对于我的 shell 中的每个新行,输出新行。我举个例子——free -m
命令。它的输出是
total used free shared buffers cached
Mem: 144 512 111 0 0 121
-/+ buffers/cache: 23 232
Swap: 0 0 0
所以,到目前为止我写的是:
import commands
foo...
sout = commands.getstatusoutput(inp)
return ' '.join(str(line) for line in sout)
foo...
但输出只有一行(第一行 - 总计、已使用、免费、共享等)
我希望每个新行都有新行,就像 shell 中的输出一样。如果我离开它没有 .join 它输出类似
(0, ' total used free shared buffers cached\nMem: 512 144 368 0 0 121\n-/+ buffers/cache: 21 234\nSwap: 0 0 0')
由于我希望它是一个字符串,我什至尝试过'\n'.join
,但它只输出0
(wtf)。有任何想法吗?