在子进程中调用包装脚本

2024-09-29 21:50:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个wrapperexec,它应该调用exec和一些参数。在

subprocess.check_call( ["wrapperexec", "exec", "arg1"], shell=True, cwd="/dirA" )

当我调用上面的脚本时,它不向wrapperexec传递任何参数。 但当我换成:

^{pr2}$

它确实按预期传递参数。 有人能解释一下,为什么前者不起作用?在

编辑:

抱歉,创建此问题时我完全走错了方向。现在更新到真正的问题。在


Tags: 脚本true编辑参数checkshellcall方向
1条回答
网友
1楼 · 发布于 2024-09-29 21:50:36

环境path是一个复杂的概念,有所有事物共享的“基”path,但您也可以在特定过程中临时修改或附加{}。这意味着,如果您修改脚本中的path,然后调用subprocess,则{}将与父脚本的path不同。在

除非您执行以下操作:

subprocess.check_call(["nonsystemexec"], shell=True, cwd="/dirA", env=os.environ)

这里您告诉subprocess使用当前的env,它将包括当前的path。在


注意:如果您想让subprocess使用一个经过修改的env,但不能使用与您相同的env。你可以这样做:

^{pr2}$

相关问题 更多 >

    热门问题