简单的Python shell包装器脚本(使用os.execv?)

简单的Python shell包装器脚本(使用os.execv?),python,shell,wrapper,python-os,Python,Shell,Wrapper,Python Os,我想在特定的shell命令周围添加一个包装器。这将只在Linux中运行,我不关心跨平台支持。这段代码可以工作,但是有更好的方法来实现这一点吗?还是我要让自己面对任何奇怪的行为 import os import sys # Do my personal validation here do_some_validation(sys.argv) # Now call the real program os.execv('/usr/bin/some-command', sys.argv) 谢谢

我想在特定的shell命令周围添加一个包装器。这将只在Linux中运行,我不关心跨平台支持。这段代码可以工作,但是有更好的方法来实现这一点吗?还是我要让自己面对任何奇怪的行为

import os
import sys

# Do my personal validation here
do_some_validation(sys.argv) 

# Now call the real program
os.execv('/usr/bin/some-command', sys.argv)
谢谢

您可以使用

subprocess
在某种程度上优于
os
,因为它可以更好地控制命令的执行,而
os
只是将其抛出到
bash

您可以使用


subprocess
在某种程度上优于
os
,因为它可以更好地控制命令的执行,而
os
只是将其抛出到
bash

子流程具体为我提供了什么?当我在发布这篇文章之前在谷歌上搜索时,我看到你的评论到处都有变化,但在这种情况下,我想用我正在包装的可执行文件替换它。我不需要获取返回码、out/err、执行错误处理等。当然,在您的情况下,您可以使用操作系统。根本不需要切换到subprocess,但将来如果您要扩展脚本,可能需要一些返回代码、管道等,您需要它。subprocess具体为我提供了什么?当我在发布这篇文章之前在谷歌上搜索时,我看到你的评论到处都有变化,但在这种情况下,我想用我正在包装的可执行文件替换它。我不需要获取返回码、out/err、执行错误处理等。当然,在您的情况下,您可以使用操作系统。根本不需要切换到子流程,但将来如果要扩展脚本,可能需要一些返回代码、管道等,oum ya需要它。
import subprocess
subprocess.call(['/usr/bin/some-command', arg1, arg2])