首页 > 解决方案 > 使用 Python 运行 CMD 命令,打印输出并将输出作为变量获取

问题描述

我正在尝试构建一个脚本来使用 pyinstaller 自动化桌面应用程序的构建过程。我需要实现的一件事是运行 pyinstaller 命令并将它的输出作为字符串获取以进行进一步处理,同时将任何命令打印到 Powershell 窗口中。现在我只是使用 os.system() 但这不会将命令的输出作为字符串返回,而只会返回退出代码。

我已经尝试使用 subproces.run() 在许多其他问题中进行演示,但这并没有向我返回有用的输出,我将命令运行为

result = subprocess.run("pyinstaller app.py", shell=True, stdout=subprocess.PIPE)

并尝试

result.stdout.decode('utf-8')

获取命令的输出,但这对我没有任何回报。

标签: pythonwindowspowershellcommand

解决方案


subprocess.getoutput适用于linux ...希望它也适用于windows

import subprocess

result = subprocess.getoutput('pyinstaller app.py')
print(result)

推荐阅读