我想在特定的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)
谢谢!
答案 0 :(得分:3)
您可以使用subprocess
import subprocess
subprocess.call(['/usr/bin/some-command', arg1, arg2])
subprocess
在某种程度上优于os
,因为它可以更好地控制命令的执行,而os
只会将其抛向bash
。