dmidecode采集硬件信息

HTML

要将 dmidecode 命令的输出转换为HTML或表格格式,可以使用一些命令行工具和编程语言的功能。以下是使用Python的示例代码,它将运行 dmidecode 命令并将输出转换为HTML表格:

import subprocess

# 运行 dmidecode 命令并获取输出
output = subprocess.check_output(["dmidecode"])

# 将输出转换为HTML表格
html_table = "<table>\n"
lines = output.decode().split('\n')
for line in lines:
    if line.startswith("Handle") or line.startswith("\t"):
        html_table += f"<tr><td>{
      
      line}</td></tr>\n"
    else:
        html_table += f"<tr><th>{
      
      line}</th></tr>\n"
html_table += "</table>"

# 将HTML表格写入文件
with open("dmidecode.html", "w") as file:
    file.write(html_table)

这段代码将 dmidecode 的输出保存为名为 dmidecode.html 的HTML文件。你可以在浏览器中打开该文件来查看转换后的表格。请确保已安装Python,并且已安装所需的依赖项(如subprocess)。

如果你更喜欢其他编程语言,也可以根据相应语言的功能编写类似的代码。

Excel

要将dmidecode的输出保存为Excel表格,你可以使用openpyxl库来处理Excel文件,并使用subprocess模块运行dmidecode命令获取系统信息。下面是一个示例代码来完成这个任务:

import subprocess
from openpyxl import Workbook

# 运行 dmidecode 命令并获取输出
output = subprocess.check_output('dmidecode', shell=True, universal_newlines=True)

# 创建一个新的 Excel 工作簿
workbook = Workbook()
sheet = workbook.active

# 将 dmidecode 输出按行拆分并写入 Excel 表格
for row_index, line in enumerate(output.split('\n')):
    columns = line.split(':')
    if len(columns) == 2:
        sheet.cell(row=row_index + 1, column=1, value=columns[0].strip())
        sheet.cell(row=row_index + 1, column=2, value=columns[1].strip())

# 保存 Excel 文件
workbook.save('dmidecode_output.xlsx')

在上面的代码中,我们首先使用subprocess模块运行了dmidecode命令,并通过split()方法将输出按行拆分。然后,我们使用openpyxl库创建一个新的Excel工作簿,并将dmidecode的输出逐行写入Excel表格。最后,我们将Excel文件保存为dmidecode_output.xlsx

请确保已经安装了openpyxl库(使用pip install openpyxl进行安装)和dmidecode命令可用于您的系统。运行代码后,将在当前目录下生成一个名为dmidecode_output.xlsx的Excel文件,其中包含了系统的DMI信息。

Guess you like

Origin blog.csdn.net/hezuijiudexiaobai/article/details/131624124