Seite 1 von 1
Python und VBScript
Verfasst: Samstag 15. März 2008, 13:12
von da-ker
Die Sache ist die,
gibt es ne möglichkeit über python ein vbscript aufzurufen, ihm Parameter zu übergeben, und das ergebnis aus dem vbscript in python zu nutzen.
ich denke mit dem win32com modul bin ich auf dem richtigen weg, aber vllt kennt ja jemand ne einfache elegante lösung.
Nochmal kurzform:
pythonskript ruft vbscrip auf ----> vbscript rattert durch returned einen wert ---> python greift diesen wert auf.
danke schonmal
Verfasst: Samstag 15. März 2008, 15:58
von Imperator
das VbScript speichert den Wert in einer Textdatei und das Python Script kann darauf zugreifen

Verfasst: Samstag 15. März 2008, 16:35
von HWK
Wenn Du ein fertiges VBScript verwenden musst, wäre dies eine Möglichkeit:
Code: Alles auswählen
# File: Test.py
import subprocess
print subprocess.call(['Test.vbs', '119'], shell=True)
für das Testscript
Code: Alles auswählen
'File: Test.vbs
wscript.Echo(Wscript.Arguments.Item(0))
wscript.Quit 911
Wenn Du aber das Script selbst schreiben willst, kannst Du das gleich in Python tun. Hier ein Beispiel:
Code: Alles auswählen
import win32com.client
strComputer = "."
objWMIService = win32com.client.Dispatch("WbemScripting.SWbemLocator")
objSWbemServices = objWMIService.ConnectServer(strComputer,"root\cimv2")
colItems = objSWbemServices.ExecQuery("Select * from CIM_VideoControllerResolution")
for objItem in colItems:
print "Caption: ", objItem.Caption
print "Description: ", objItem.Description
print "Horizontal Resolution: ", objItem.HorizontalResolution
print "Max Refresh Rate: ", objItem.MaxRefreshRate
print "Min Refresh Rate: ", objItem.MinRefreshRate
print "Number Of Colors: ", objItem.NumberOfColors
print "Refresh Rate: ", objItem.RefreshRate
print "Scan Mode: ", objItem.ScanMode
print "Setting ID: ", objItem.SettingID
print "Vertical Resolution: ", objItem.VerticalResolution
MfG
HWK
Verfasst: Samstag 15. März 2008, 17:49
von da-ker
die idee mit der text datei hat ich auch schon, aber wollte nach ner möglichkeit suchen dass eleganter zu machen
das mit den subprocesses klingt intressant.
Leider ist das VBScript schon da und ich hab leider noch keine möglichkeit gefunden mit python auf den server zuzugreifen den wir benutzen (hp quality center: vllt hat da ja jemand erfahrung mit?! ; )
danke aufjedenfall, gruß