• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

Python 子进程 - 在创建的新命令提示符运行第二个命令

用户头像
it1352
帮助1

问题说明

Python 3.6.7,Windows 7/10

Python 3.6.7, Windows 7/10

我必须使用 subprocess.run 一个接一个地运行两个命令.第一个命令打开一个新的命令提示符.下一个命令需要在新创建的命令提示符下运行.使用下面的代码,第二个命令总是在初始命令提示符下运行.可以这样做吗?

I have to run two commands one after the other using subprocess.run. The first command opens a new command prompt. The next command needs to be run in the newly created command prompt. With the code below, the second command always runs in the initial command prompt. Can this be done?

import subprocess

subprocess.run('first command', shell=True)  #first command opens a new command prompt
subprocess.run('second command', shell=True)  #second command needs to be run in the newly created command prompt

正确答案

#1

这取决于您要运行哪些命令,但我认为一种解决方案是创建一个批处理脚本,一个接一个运行这两个命令.

It depends on which commands you want to run but I think one solution would be to create a batch script running those two commands one after the other.

或者你可以尝试在你的第一个子进程的标准输入上写第二个命令,比如:

Or you could try to write the second command on the stdin of your first subprocess with something like :

pipe = subprocess.Popen('first command', shell=True, stdin=subprocess.PIPE)
pipe.communicate(input='second command')

但我不确定这是否可行,因为该过程会在第一个命令终止后立即完成?

but I am not sure that would works since the process will finish right after the first command termination ?

添加缩进

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /reply/detail/tanhccjhei
系列文章
更多 icon
同类精品
更多 icon
继续加载