2 个回答
可以使用subprocess.Popen来运行PowerShell命令,并且通过设置creationflags参数来阻止PowerShell窗口在命令执行完成后自动关闭。
使用subprocess.Popen的stdout参数来捕获PowerShell命令的输出,然后通过设置creationflags参数为subprocess.DETACHED_PROCESS来让PowerShell在命令执行完成后保持在后台运行。
import subprocess
powershell_command = 'choco update haskell-stack -NoExit'
powershell_process = subprocess.Popen(
["powershell", "-Command", powershell_command],
stdout=subprocess.PIPE,
creationflags=subprocess.DETACHED_PROCESS
)
# 等待命令执行完成
powershell_process.wait()
PowerShell窗口将在命令执行完成后保持在后台运行,而不会自动关闭。由于stdout=subprocess.PIPE被设置为捕获输出,因此命令的输出将存储在powershell_process.stdout中,你可以根据需要进一步处理或查看输出。