我目前正在使用dmidecode
做其他的事情,但我还没有找到关于在Linux上检索视频卡规范的好信息(主要是Fedora,Ubuntu,Debian,CentOS,RedHat)
我想使用的是:lspci -v
或HAL
解析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())))
这是我能够遇到的唯一一个例子代码,在Fedora17 64位中似乎不适合我,我想是因为没有/orc/freedesktop/Hal.Manager
。
对此有什么想法吗?
发布于 2012-12-13 20:28:45
下面是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())
https://stackoverflow.com/questions/13867696
复制相似问题