使用Python SH模块,如何保存组合的Stdout和Stderr



使用python sh模块(http://amoffat.github.io/sh/index.html(,我如何获得组合的stdout and stderr,就像它一样我已经在终端上运行命令?

这是一个示例,将stdout和stderr从sh.ls((重定向到过程stdout和stderr。

import sh
import sys
sh.ls(_out=sys.stdout, _err=sys.stderr)

根据以下

,也可以将stdout捕获到字符串中
import sh
import sys
s = sh.ls()
print( s )

您也可以使用:

sh.ls(_err_to_out = True)

您也可以使用_fg=True,例如

import sh
sh.ls("/", _fg=True)

输出:

/usr/bin/python3.6 /home/steve/test.py
bin
boot
dev
etc
home
initrd.img
initrd.img.old
lib
lib64
lost+found
media
mnt
opt
proc
root
run
sbin
srv
sys
tmp
usr
var
vmlinuz
vmlinuz.old

最新更新