ich habe eine Frage, ich lade eine com schnittstelle mit
Code: Alles auswählen
import win32com.client
geoip = win32com.client.Dispatch("GeoIPCOMEx.GeoIPEx")
muss ich zum verwenden noch einen befehl von win32com eingeben?
Danke
Code: Alles auswählen
import win32com.client
geoip = win32com.client.Dispatch("GeoIPCOMEx.GeoIPEx")
Weil ``dir()`` nur die Attribute via Introspection anzeigt, aber pywin32 keine Introspection bietet. Durch dynamischen Lookup ist es aber möglich auf Attribute zuzugreifen, die nicht statisch definiert sind.bcit6k hat geschrieben:ich verwende die funktion set_db_path, die taucht da bei der ausgabe aber nicht auf. wie kann das sien das ich eine funktion aufrufen kann die da gar nicht vor kommt? oder sind die wo anders abgespeichert?
Code: Alles auswählen
In [4]: class D(object):
def __getattr__(self, name):
if name == 'set_db_path':
def f():
print 'DB-PATH'
return f
raise AttributeError()
....:
In [11]: d = D()
In [12]: print dir(d)
['__class__', '__delattr__', '__dict__', '__doc__', '__getattr__', '__getattribute__',
'__hash__', '__init__', '__module__', '__new__', '__reduce__', '__reduce_ex__',
'__repr__', '__setattr__', '__str__', '__weakref__']
In [13]: d.set_db_path()
DB-PATH