使用 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"..."
而不是 "..."
。这样反斜杠字符就不会用作转义字符。
我在 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"..."
而不是 "..."
。这样反斜杠字符就不会用作转义字符。