Hi,
Ich habe ein batchfile das hin und wieder errors auswirft. Diese errors sind aber einfach nur Output, also man kann sie mit ERRORLEVEL nicht auswerten.
Nun dachte ich ich rufe das batchfile in einem pythonscript auf und werte dort die errors bzw den output aus.
Konkret geht es um folgendes.
Das .bat gibt sowas aus wie
"processing filename..."
Wenn ein Fehler kommt steht da natürlich was anderes.
Nun will ich in dem python script, sofern kein Fehler kommt das genannte file löschen.
Das batchfile ausführen ist kein problem, aber den Output auswerten...ich kriegs nicht hin.
Wie mache ich das ?
Wie greif ich auf den output zu ?
Danke im Voraus !
Batchfile in python...aber etwas tricky
Okay ich habs.
Die Funktionalität ist zwar noch nicht gegeben aber ich komm zumindest an den output ran:
Die Funktionalität ist zwar noch nicht gegeben aber ich komm zumindest an den output ran:
Code: Alles auswählen
from subprocess import Popen, PIPE
executer = Popen("\\\\lngviedbsp005\\bulk_upload\\bulk_upload_share_folderized_exed.bat", stderr=PIPE)
stdout_text, stderr_text = executer.communicate()
for textline in stderr_text.split("\n"):
print textline
print "Done!"
Code: Alles auswählen
stdout_text, stderr_text = executer.communicate()
jo das is noch ein Überbleibsel.JonasR hat geschrieben:"stdout_text" ist so nicht ganz korrekt. Dazu musst du diesen auch noch per "stdout=PIPE" rausholen.Code: Alles auswählen
stdout_text, stderr_text = executer.communicate()
Hast natürlich recht