Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在python中发出连续命令?_Python_Python 2.7_Command Line_Subprocess_Command - Fatal编程技术网

在python中发出连续命令?

在python中发出连续命令?,python,python-2.7,command-line,subprocess,command,Python,Python 2.7,Command Line,Subprocess,Command,我试图用python调用一组命令(a、B、C)。这些命令设置了最终调用命令X的能力。但是,当调用命令X时,它的行为就好像其他命令没有被调用一样。我相信这是因为它们是分开发行的,而不是在同一环境下同时发行的。有没有办法使用Python将它们全部发布到同一个open命令行。谢谢 作为参考,real命令初始化AutoSys命令的执行 我尝试过使用os.sysetm(),问题与subprocess.call相同 导入子流程 调用(“命令A”,shell=True) 调用(“命令B”,shell=True

我试图用python调用一组命令(a、B、C)。这些命令设置了最终调用命令X的能力。但是,当调用命令X时,它的行为就好像其他命令没有被调用一样。我相信这是因为它们是分开发行的,而不是在同一环境下同时发行的。有没有办法使用Python将它们全部发布到同一个open命令行。谢谢

作为参考,real命令初始化AutoSys命令的执行

我尝试过使用os.sysetm(),问题与subprocess.call相同

导入子流程
调用(“命令A”,shell=True)
调用(“命令B”,shell=True)
调用(“命令C”,shell=True)
调用(“命令X”,shell=True)
这将在bash中一个接一个地调用每个
子进程。call(…,shell=True)
调用使用shell进程创建一个新的子进程,并告知该shell进程执行给定的命令。然后,shell进程再次被拆开并退出,同时带上任何环境变量

如果必须在一个单亲shell进程中运行它们,则需要使用shell语法来执行。例如,您可以使用
以分离命令:

subprocess.call("Command A; Command B; Command C; Command X", shell=True)
这将按顺序运行命令。任何命令成功或失败都无关紧要,因为在运行下一个命令时,不会考虑它们的退出状态

确切地说,您可以使用什么语法来控制命令的组合方式取决于您的平台。在POSIX系统(Mac OS X或Linux)上使用
/bin/sh
,这意味着您可以使用。在Windows上,它取决于所使用的shell环境。您可以通过设置
executable
请求不同的shell可执行文件,例如
executable=/bin/bash

subprocess.call("Command A; Command B; Command C; Command X", shell=True)