2010-12-28 5 views
0

Ich habe gelesen http://wxpython.org/docs/api/wx.ConfigBase-class.htmlWie verwende ich python wx: Config, um auf die Windows-Registrierung zuzugreifen?

Ich habe einige grundlegende Dinge wie die beigefügten getan. Was ich sehen kann, ist, dass Config.Create() gibt mir eine Art von Konfigurationsobjekt, das Informationen über Python in ihm hat. Aber klar, das ist nicht, was ich suche: Ich vermisse die Magie zu sagen "Gib mir eine Config, die die Windows-Registrierung ist" ...

Vielen Dank!

Gaj

 
>>> import wx 
>>> from wx import Config 
>>> app=wx.App(False) 
>>> config=Config.Create() 
>>> config.HasGroup("HKEY_CURRENT_USER") 
False 
>>> config.GetFirstEntry() 
(0, u'', -1) 
>>> config.GetFirstGroup() 
(1, u'PythonCore', 1) 
>>> config.GetNextGroup(1) 
(0, u'', -1) 
>>> config.GetNumberOfGroups() 
1 
>>> config.GetPath() 
u'' 
>>> config.HasEntry("PythonCore") 
False 
>>> config.GetFirstGroup() 
(1, u'PythonCore', 1) 

Antwort

1

Die Config-Klassen sind nicht dazu gedacht, als allgemeiner Zugriffspfad auf die Registrierung verwendet zu werden. Stattdessen erleichtert es das Speichern und Abrufen der Vorgabedaten Ihrer Anwendung auf die für die Plattform geeignete Weise. Mit anderen Worten, es wird immer ein Stammverzeichnis von so etwas wie verwenden:

HKCU/Software/VendorName/AppName/ 

unter der Annahme, dass der Herstellername und AnwName haben auf Ihrem wx.App Objekt gesetzt. Wenn Sie auf etwas anderes in der Registrierung zugreifen möchten, müssen Sie, wie bereits erwähnt, ein anderes Modul dafür verwenden.

1

Normalerweise verwende ich Python builtin _winreg Modul für alle meine Registry Arbeit. Tim Goldens WMI-Modul ist ebenfalls nützlich und Sie können auch PyWin32 verwenden, aber ich denke, _winreg ist am einfachsten, es sei denn, Sie müssen ein rekursives Löschen durchführen.

Verwandte Themen