python - 使用 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')
获取命令的输出,但这对我没有任何回报。
解决方案
它subprocess.getoutput
适用于linux ...希望它也适用于windows
import subprocess
result = subprocess.getoutput('pyinstaller app.py')
print(result)
推荐阅读
- c++ - 连接到远程存储库并获取数据
- postgresql - Postgres 中是否有 varchar 字段的 diff/patch 函数/库
- javascript - 复制要在 JavaScript 中迭代的 div 的最佳方法是什么?
- javascript - 使用 javascript 代理拦截方法调用时非法调用
- sql-server - 如何使用 SQL 服务器汇总汇总|SQL CUBE
- r - Plotting two subgroups of several groups against one another, when in long format
- python - Python - OTRS REST/SOAP API - python-otrs
- discord.py - 将 Adf.ly 与 Discord.py 一起使用
- java - 在组合关系中查找特定的调用者
- javascript - GETJson 将两个参数传递给服务器