1

我目前正在使用dmidecode其他所有内容,但我还没有找到有关在 Linux(主要是 Fedora、Ubuntu、Debian、CentOS、RedHat)上检索视频卡规范的好信息

我想使用的是:lspci -vHAL

解析数据的最有效方法是什么lspci,只获取 VGA 部分然后输出json

def get_graphic_card_properties():
        import dbus
        bus = dbus.SystemBus()
        hal_manager_object = bus.get_object('org.freedesktop.Hal', '/org/freedesktop/Hal/Manager')
        hal_manager_interface = dbus.Interface(hal_manager_object, 'org.freedesktop.Hal.Manager')
        method = hal_manager_object.get_dbus_method('GetAllDevices', 'org.freedesktop.Hal.Manager')
        print "\n".join(list(iter(method())))

这是我能够作为示例遇到的唯一代码,在 Fedora 17 64 位中似乎不适用于我,我认为因为没有/orc/freedesktop/Hal.Manager.

对此有什么想法吗?

4

1 回答 1

2

这是 lspci here的命令示例。所以基本上你会调用 subprocess 从 python 访问命令。

import subprocess

def find_vga():
    vga = subprocess.Popen("lspci -v -s `lspci | awk '/VGA/{print $1}'`", shell=True)
    return vga

print(find_vga())

或者

def find_vga():
    vga = subprocess.check_output("lspci -v -s `lspci | awk '/VGA/{print $1}'`", shell=True, executable='/bin/bash')
    return vga

print(find_vga())
于 2012-12-13T20:28:45.433 回答