ich möchte ein Script schreiben, dass eine bestimmtes Programm startet, welches aber ein bestimmtes Inputfile braucht.
Mein Script soll überprüfen ob dies Inputfile vorhanden ist, ist dieses nicht vorhanden wird dass Script beendet.
Für meinen ersten Versuch habe ich einfach eine if-else Abfrage genommen:
Code: Alles auswählen
import subprocess,os,sys
ElmerCaseFile = "fsi.sif"
ort = os.getcwd()
dateien_aktueller_ort = os.listdir(ort)
def Elmer_run():
global ElmerCaseFile
if ElmerCaseFile not in dateien_aktueller_ort:
sys.exit("\n%s doesn't exist\n" %(ElmerCaseFile))
else:
cmd_elmer = 'ElmerSolver ' + ElmerCaseFile + ' > log'
print "Starte ELMER"
Elmer = subprocess.Popen(cmd_elmer,shell=True)
Elmer.wait()
print "Elmer beendet"
# check for Error-Termination
log = open("log","r")
lines = log.read().split()
if 'ERROR::' in lines:
sys.exit ("ELMER: ERROR TERMINATION")
Code: Alles auswählen
def Elmer_run():
global ElmerCaseFile
try:
cmd_elmer = 'ElmerSolver ' + ElmerCaseFile + ' > log'
print "Starte ELMER"
Elmer = subprocess.Popen(cmd_elmer,shell=True)
Elmer.wait()
print "Elmer beendet"
# check for Error-Termination
log = open("log","r")
lines = log.read().split()
if 'ERROR::' in lines:
sys.exit ("ELMER: ERROR TERMINATION")
except IOError as error:
sys.exit("\n\n%s: does'n exist !\n" % (ElmerCaseFile))
Eigentlich sollte der Prozess gar nicht gestartet werden, da ja das Inputfile fehlt.Starte ELMER
Elmer beendet
ELMER: ERROR TERMINATION
Erkennt jemand den Fehler?
Gruß