使用python sh模块,如何保存组合的stdout和stderr?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用python sh模块,如何保存组合的stdout和stderr?相关的知识,希望对你有一定的参考价值。
使用python sh
模块(http://amoffat.github.io/sh/index.html),我如何获得组合的stdout和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
以上是关于使用python sh模块,如何保存组合的stdout和stderr?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 boost::python 扩展模块中正确组合 C++ 和 Python 代码?