使用 winreg 获取 GPU 详细信息

Using winreg for getting GPU details

我在 python 3.4 中使用 winreg 来获取 windows 注册表值。 我已经设置了一个系统来获取 CPU 信息(cpu 名称、最大频率等),我正在尝试对其进行调整以获取 GPU 信息。 唯一的问题是包含 GPU 值的密钥存储在那里:SYSTEM\CurrentControlSet\Control\Video{D1B33FF8-E663-44A7-9C71-2CE551F6C0EE}\0000

所以这是我访问 GPU 的代码行 "directory":

self.connection = winreg.ConnectRegistry(None, winreg.HKEY_LOCAL_MACHINE)
self.subkey = winreg.OpenKey(self.connection, "SYSTEM\CurrentControlSet\Control\Video\{D1B33FF8-E663-44A7-9C71-2CE551F6C0EE}[=10=]00")

但是我得到这个错误:"OpenKey() argument 2 must be str without null characters or None, not str" 所以我的问题是:如何在路径中使用空字符? 非常感谢, 朱利安

字符串中的反斜杠字符在Python中用作转义序列。

将它们用作常规字符的最简单方法是使用 r 字符串:

self.subkey = winreg.OpenKey(self.connection, r"SYSTEM\CurrentControlSet\Control\Video\{D1B33FF8-E663-44A7-9C71-2CE551F6C0EE}[=10=]00")

那就是使用 r"..." 而不是 "..."。这样反斜杠字符就不会用作转义字符。