Windows中的Python打开一个新的控制台

时间:2014-09-14 08:22:02

标签: python windows batch-file subprocess popen

我有一些Python函数可以执行批处理命令:

subprocess.Popen(cmd, stdout=subprocess.PIPE, shell=True).stdout.read().decode('utf-8').rstrip()

在Linux中运行它是可以的,但是在Windows中运行它会在每个subprocess.Popen调用时打开一个新控制台,而前一个控制台不知道该控制台在新控制台中所做的任何修改。

我该怎么办?

1 个答案:

答案 0 :(得分:-1)

你的代码很复杂。我为执行命令编写python脚本:

import subprocess
import sys
subprocess.Popen([sys.executable,cmd],stdout=subprocess.PIPE).stdout.read().decode('utf-8').rstrip()

如果它不起作用,你可以更轻松地尝试:

import subprocess
import sys
proc = subprocess.Popen([sys.executable,cmd],stdout=subprocess.PIPE)
proc.communicate()