使用Python运行CMD命令,打印输出并将输出作为变量

问题描述 投票:0回答:2

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

我已经尝试过使用 subproces.run() 正如许多其他问题中所演示的那样,但这不会向我返回有用的输出,我将命令运行为

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

并尝试

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

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

python windows powershell command
2个回答
0
投票

使用

subprocess.getoutput
它可以在 Linux 上运行...希望它也适用于 Windows

import subprocess

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

0
投票

导入子流程

结果 = subprocess.getoutput('pyinstaller app.py') 打印(结果)

© www.soinside.com 2019 - 2024. All rights reserved.