python执行shell命令比较好的库(envoy)

来源:互联网 发布:知乎 核安全所 编辑:程序博客网 时间:2024/06/08 02:41

背景

python程序很多情况都需要调用shell命令。
选择一个好的库,很重要

envoy

接触python不久的菜鸟,基本都用:

os.system("xxx xxx")

这是个在官方受废弃的函数。
官方推荐用subprocess取代os.system。

然后,我用subprocess用了几年,但是,说真的,不太好用,自己封装了一些函数。

终于,忍不住问了google,发现了stackoverflow有相应的执行shell命令的第三方库选型比较。

这里,我个人推荐envoy。
envoy封装了subprocess,更适合给人用(作者原话哈)

pip install envoy

import envoyr = envoy.run("ls -alh")print(r.status_code)print(r.std_out)print(r.std_err)

上面示例告诉我们,使用非常人性化。
python2和python3都支持envoy。
因为envoy,我已经删掉了所有自己封装的函数了,呵呵。