Installation der WMI library

Probleme bei der Installation?
Antworten
ep.et
User
Beiträge: 4
Registriert: Mittwoch 28. März 2012, 10:53

Guten Tag

Ich versuche gerade, die WMI library von Tim Golden zum laufen zubekommen. Leider vegeblich.

Ich habe Python 3.1 auf einem XP System. Ich habe passend dazu die 3.1-Version von pyWin32 (build 215) installiert. Die habe mich auch per makepy um Microsoft WMI Scripting Library, WMI ADSI Extension Type Library, WMICntl Type Library gekümmert. Kurz: das Tutorial hilft nicht weiter.

Soweit ich das beurteilen kann, funktioniert die pyWin32 library. Aber, wenn ich dieses script hier ausprobiere, bekomme ich einen syntax-fehler für die Variable "process". Der import von WMI klappt aber.

Code: Alles auswählen

import wmi
c = wmi.WMI ()

for process in c.Win32_Process ():
  print process.ProcessId, process.Name
Ich vermute also, dass die WMI library nicht so ganz richtig installiert wurde, oder ich eine blöde kombination der verschiedenen Versionen gewählt habe. Das deinstallieren und neu installieren hat nichts gebracht.

Hat jemand eine Idee?

grüße, ep.et
webspider
User
Beiträge: 485
Registriert: Sonntag 19. Juni 2011, 13:41

In Python3 wurde einiges geändert, unter anderem auch, dass print kein Statement, sondern eine Funktion ist:

Code: Alles auswählen

>>> print "A", "B"
  File "<stdin>", line 1
    print "A", "B"
            ^
SyntaxError: invalid syntax
>>> print("A", "B")
A B
Generell solltest du dir diesbezüglich die offiziellen Dokumente ansehen :)
ep.et
User
Beiträge: 4
Registriert: Mittwoch 28. März 2012, 10:53

Autsch!

Stimmt, das war das problem. Danke für die schnele Hilfe @ webspider.
Was mir allerdings zu denken gibt ist die Tatsache, dass das WMI Testscript ebenfalls nicht läuft, obwohl es gerade für Python 3.1 geschrieben wurde. Oder ich hab da was grundsätzlich falsch verstanden. ich kuck da nochmal rein.

ep.et
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Ich kenne mich mit Deinen Rahmenbedingungen nicht aus, aber generell sollte man erwähnen, dass Python 3.1 veraltet ist! Python 3.2 (und natürlich 2.7) sind die aktuellen Versionen von Python. Vermutlich hat das zwar nichts mit Deinen Problemen zu tun, aber erwähnen sollte man es dennoch ;-)
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
Antworten