我正在尝试构建一个脚本来使用 pyinstaller 自动构建桌面应用程序的过程。我需要实现的事情之一是运行 pyinstaller 命令并将其输出作为字符串进行进一步处理,同时将命令打印的任何内容也打印到 Powershell 窗口。现在我只是使用 os.system() 但它不会以字符串形式返回命令的输出,仅返回退出代码。
我已经尝试过使用 subproces.run() 正如许多其他问题中所演示的那样,但这不会向我返回有用的输出,我将命令运行为
result = subprocess.run("pyinstaller app.py", shell=True, stdout=subprocess.PIPE)
并尝试
result.stdout.decode('utf-8')
获取命令的输出,但这对我没有任何返回。
使用
subprocess.getoutput
它可以在 Linux 上运行...希望它也适用于 Windows
import subprocess
result = subprocess.getoutput('pyinstaller app.py')
print(result)
导入子流程
结果 = subprocess.getoutput('pyinstaller app.py') 打印(结果)