0

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

所以这是我进入 GPU“目录”的代码行:

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

但我得到这个错误:“OpenKey() 参数 2 必须是 str 没有空字符或 None,不是 str”所以我的问题是:如何在路径中使用空字符?非常感谢,朱利安。

4

1 回答 1

0

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

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

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

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

于 2016-02-03T10:39:25.710 回答