2016-12-01 1 views
0

Ich verwende Python-Version 3.4.2.Ausführen und Ausführen eines anderen Python-Skript in bestehenden Python-Skript ausgeführt

Ich habe zwei Python-Skript mit tkinter verwendet. Beispiel: one.py und two.py. Dann wird es in zwei.py, gibt es eine Zurück-Taste, wenn also die Zurück-Taste geklickt wird, wird die two.py geschlossen und zurück zu one.py.

Dies ist meine elif-Anweisung in one.py:

elif len(admin) == 1 and len(staff) == 0: 
----open and run two.py---- 

In two.py:

def back(): 
    app.destroy() 

back = Button(command=back).pack() 

Gibt es irgendeine Weise, die ich bekommen kann dies gehen? Vielen Dank.

+0

So möchten Sie 'one.py' und' two.py' als separate Programme ausführen ? –

+0

@ J.P.Petersen ja. Es ist wie ein Frontend- und Backend-Programm – noob

Antwort

0

Was Sie tun möchten, ist Ihre back() Funktion aus Ihrer Python-Datei importieren two.py. Dies funktioniert wie folgt:

In Ihrem one.py, schreiben:

import two 
... # remaining imports 
# ... 
elif len(admin) == 1 and len(staff) == 0: 
    back = Button(commmand=two.back).pack() 

Informieren Sie sich über what importing is and how it works here.

0

Sie müssen back Taste app als Eltern weitergeben müssen:

Beispiel:

class app(Toplevel): 
    def __init__(self, parent, *args, **kwargs): 
     Toplevel.__init__(self, parent, *args, **kwargs) 
     Button(self, command=self.destroy).pack() 
0

, Ihre Anwendung modularisieren. Modularisierung ist pacesetter unter anderen verfügbaren Optionen.

Erstellen Sie einen __init__.py in Ihrem Projektordner, in dem sich one.py und two.py befinden (more about__init__.py).

one.py

import random 
x = random.randint(1,5) 

if x>3: 
    from two import foo 
    print foo(x) 
else: 
    print x 

two.py

def foo(x): 
    return "fooed:", x, 

Lauf

$ python one.py 
('fooed:', 5) 
$ python one.py 
1 
Verwandte Themen