2017-03-03 14 views
1

Ich verwende den folgenden Code, um die Tests auszuwählen, die ich nacheinander ausführen möchte.Wie kann man Python-Skripte nacheinander ausführen, indem man die Tests mit easygui auswählt?

from easygui import * 
import sys,os 

msg="Select following tests for testing" 
title="Test Selector" 
choices=["Test_case","Test_case2"] 
choice=multchoicebox(msg,title,choices) 


print choice 
msgbox("You have selected:"+str(choice)) 
msg="Do you want to continue?" 
title="Please confirm" 
if ccbox(msg,title): 
    pass 
else: 
    sys.exit(0) 

def func(): 
    for tests in choice: 
     print "tests",tests 
    return tests 
def main(): 

    execfile('python'+' ' +str(func())+'.py') 

main() 

Jetzt nach den Tests die Auswahl ich versuche, diese Tests eine nach der other.I ausführen möchten execfile zu verwenden, aber es sagt

IOError: [Errno 2] No such file or directory: 'python Test_case.py'

Kann jemand mir bitte helfen?

+0

Warum nicht execs einlesen, wenn Sie es importieren? Und Sie sollten "python" + "" entfernen. – abccd

+0

tmp = importlib.import_module (tests) Wenn ich versuche, dies zu verwenden, führt es nur das erste Skript aus, wie muss ich es für alle Skripte laufen lassen? – user1681102

Antwort

1

Sie brauchen nicht die 'python' auf den Namen der Datei zu übergeben ...

execfile('Test_case.py') # willl work 

oder in Ihrem Fall

execfile(str(func())+'.py') 

Schauen Sie hier:

+0

Was, wenn ich mehr als einen Test wähle, wird es versuchen, 2 Python-Skripte nacheinander auszuführen? – user1681102

+0

tmp = importlib.import_module (tests) wird das funktionieren? – user1681102

Verwandte Themen