我想编写一个Python脚本,该脚本应一个接一个地执行多个命令,并且输出应以追加模式保存到文件中。我尝试编写脚本,它适用于单个命令,但如何编写多个命令。
import subprocess
with open(filename, "a") as output:
subprocess.Popen('cmd1''cmd2''cmd3', shell=True, stdout=output)
例如:
cmd1 = dir
cmd2 = whoami
文件应包含两个命令的输出。
答案 0 :(得分:1)
怎么样
import subprocess
commands = ['ls','pwd']
with open('cmd_out.txt', "a") as output:
subprocess.Popen(';'.join(commands), shell=True, stdout=output)
答案 1 :(得分:0)
Popen
执行单个命令;在您的示例中,您实际上是在执行dir
并将其whoami
作为参数传递。
因此,您需要分别为每个命令调用Popen
。将每个追加都添加到同一个文件应该会产生所需的结果。
答案 2 :(得分:0)
用;
分隔命令:
subprocess.Popen('cmd1; cmd2; cmd3', shell=True, stdout=output)