跳转到主要内容

subwrap - 一个简单的子进程包装器

项目描述

这是在stdlib的subprocess模块之上的一层非常薄的包装。它只是为了在许多我的项目中需要的某些方便的功能。

完整的文档可能稍后提供,但如果您真的想要使使用subprocess变得更容易,我会个人尝试使用envoy。然而,在这个时候,envoy似乎在其开发过程中还不够成熟,因此我创建了自己的非常薄的包装,以满足我当前的需求。

如果您需要更高层次的东西,请查看envoy。

示例

简单示例

import subwrap

response = subwrap.run(['echo', 'hello'])

# Display hello
print response.std_out

默认情况下,subwrap如果正在运行的命令以非零退出代码退出,则抛出CommandError。为了捕获默认命令错误

import subwrap

try:
    response = subwrap.run(['false'])
except subwrap.CommandError, e:
    #this is the response, you can do what you want here
    response = e.response

但这并不总是有用的。您可以让subwrap为每个子进程运行自己的自定义退出处理。只需做以下操作

import subwrap

def my_exit_handle(response):
    if response.return_code == 0:
        print "HAPPY DAY!"
    else:
        print "Not as happy"

# The next line will output "Not as happy" to stdout
response = subwrap.run(['false'], exit_handle=my_exit_handle)

许可证

MIT许可证

项目详情


下载文件

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

源分布

subwrap-0.1.0.tar.gz (3.3 kB 查看哈希值)

上传时间:

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面