0

Windowsレジストリ値を取得するために、Python 3.4でwi​​nregを使用しています。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 ではなく、null 文字のない str または None でなければなりません」どうもありがとう、ジュリアン。

4

1 に答える 1

0

文字列内のバックスラッシュ文字は、Python でエスケープ シーケンスとして使用されます。

それらを通常の文字として使用する最も簡単な方法は、r-string を使用することです。

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

それはr"..."ただの代わりに使用されます"..."。そうすれば、バックスラッシュ文字はエスケープ文字として使用されません。

于 2016-02-03T10:39:25.710 に答える