2024-09-29 21:50:36 发布
网友
我有一个wrapperexec,它应该调用exec和一些参数。在
wrapperexec
exec
subprocess.check_call( ["wrapperexec", "exec", "arg1"], shell=True, cwd="/dirA" )
当我调用上面的脚本时,它不向wrapperexec传递任何参数。 但当我换成:
它确实按预期传递参数。 有人能解释一下,为什么前者不起作用?在
编辑:
抱歉,创建此问题时我完全走错了方向。现在更新到真正的问题。在
环境path是一个复杂的概念,有所有事物共享的“基”path,但您也可以在特定过程中临时修改或附加{}。这意味着,如果您修改脚本中的path,然后调用subprocess,则{}将与父脚本的path不同。在
path
subprocess
除非您执行以下操作:
subprocess.check_call(["nonsystemexec"], shell=True, cwd="/dirA", env=os.environ)
这里您告诉subprocess使用当前的env,它将包括当前的path。在
注意:如果您想让subprocess使用一个经过修改的env,但不能使用与您相同的env。你可以这样做:
环境}。这意味着,如果您修改脚本中的}将与父脚本的
path
是一个复杂的概念,有所有事物共享的“基”path
,但您也可以在特定过程中临时修改或附加{path
,然后调用subprocess
,则{path
不同。在除非您执行以下操作:
这里您告诉
subprocess
使用当前的env,它将包括当前的path
。在注意:如果您想让
^{pr2}$subprocess
使用一个经过修改的env,但不能使用与您相同的env。你可以这样做:相关问题 更多 >
编程相关推荐