跳转到主要内容

通过系统shell运行命令

项目描述

首先查看envoyenvoy.run(command) 在返回输出之前等待完成,这在包装长时间运行的工具时不是你需要的,当需要立即看到输出时,shellrun.run(command) 不会拦截输出 - 那是另一个命令。

>>> import shellrun
>>> r = shellrun.run('uptime')
 04:06:37 up 2 min,  1 user,  load average: 0.20, 0.19, 0.08
>>> r.output
>>> r.success
True
>>> r.retcode
0

要使用 envoy-风格的捕获输出,请使用 run_capturestdoutstderr 被合并,因为这是用户所看到的

>>> r = shellrun.run_capture('uptime')
>>> r.output
' 04:07:16 up 2 min,  1 user,  load average: 0.11, 0.17, 0.08\n'
>>> r.success
True
>>> r.retcode
0

结果对象的快速比较

envoy.Response

shellrun.Result

.command

.command

.status_code

.retcode

.success

.output

.std_out

.std_err

关于 .success 的使用示例

from shellrun import run_capture

r = run_capture('ls -la')
if r.success:
    print(r.output)
else:
    print("Error: '%s' exit code %s" % (r.command, r.retcode))
    print("         ...")
    # print last three lines of output
    for line in r.output.splitlines()[-3:]:
        print("       %s" % line)

项目详情


下载文件

下载您平台上的文件。如果您不确定选择哪个,请了解有关 安装软件包 的更多信息。

源分布

shellrun-3.1.zip (3.9 kB 查看哈希)

上传时间

由以下支持