从Python内部的外部命令捕获和解析输出

2024-09-26 17:57:25 发布

您现在位置:Python中文网/ 问答频道 /正文

虽然我是python新手,但是我写了数组列表,我想打印bios信息的数组列表?如何执行此脚本中的外部命令并捕获输出并解析它。在

下面的代码我编写了执行dmidecode | less命令,使用os.popen公司()并将其输出存储到名为package的变量中:

#!/usr/bin/python
import os
f = os.popen("dmidecode | less")
package = f.read()
print 'Bios Information is:',package

执行上述操作后python sudo代码样品.py=>;输出如下:

^{pr2}$

所以现在我要解析a值:Vendor,Release date&Version,它应该提供相关的值。在

问题是我必须在上面的脚本中执行外部命令,捕获输出并解析它?
有人能帮我找出这个问题吗?在

帮我,我已经浏览了,但是没有可用的文档。。。在


Tags: 代码命令脚本外部命令信息package列表os
1条回答
网友
1楼 · 发布于 2024-09-26 17:57:25

你有两个问题。每个StackOverflow问题只能用双关语回答一个问题。这只解决第一个问题。在

要从程序捕获stdout或stderr输出,可以使用subprocess.check_output()。在

“使用参数运行命令并返回其输出。”

示例:

  import subprocess

  output = subprocess.check_output("dmidecode")
  print(output.decode("utf-8"))  # Convert from bytes to string

当您有可用的输出时,您可以询问如何解析它,以及您想如何处理解析后的数据。在

相关问题 更多 >

    热门问题