我有一些Python函数可以执行批处理命令:
subprocess.Popen(cmd, stdout=subprocess.PIPE, shell=True).stdout.read().decode('utf-8').rstrip()
在Linux中运行它是可以的,但是在Windows中运行它会在每个subprocess.Popen调用时打开一个新控制台,而前一个控制台不知道该控制台在新控制台中所做的任何修改。
我该怎么办?
答案 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()