Python 使用winreg获取GPU详细信息

Python 使用winreg获取GPU详细信息,python,winreg,Python,Winreg,我正在使用python 3.4中的winreg获取windows注册表值。 我已经建立了一个系统来获取CPU信息(CPU名称、最大频率等),我正在尝试调整它以获取GPU信息。 唯一的问题是,包含GPU值的密钥存储在那里:SYSTEM\CurrentControlSet\Control\Video{D1B33FF8-E663-44A7-9C71-2CE551F6C0EE}\0000 下面是我访问GPU“目录”的代码行: 但是我得到了这个错误:“OpenKey()参数2必须是没有空字符的str,或者

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

下面是我访问GPU“目录”的代码行:

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

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

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

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

那就是使用
r“…”
,而不仅仅是
“…”
。这样,反斜杠字符就不会用作转义字符。

谢谢您的回答,但是如何将原始字符串与包含字符串的变量一起使用呢?像这样:self.subkey=winreg.OpenKey(self.connection,self.directory)?您不必这样做。只有在将字符串的Python源代码转换为Python字符串对象时,才会处理转义序列。
self.subkey = winreg.OpenKey(self.connection, r"SYSTEM\CurrentControlSet\Control\Video\{D1B33FF8-E663-44A7-9C71-2CE551F6C0EE}\0000")