2016-12-01 106 views
0

我正在使用python 3.4.2版在執行的現有python腳本中運行並執行另一個python腳本

我有兩個python腳本與tkinter使用

例如:one.pytwo.py。 然後在two.py中會有一個後退按鈕,因此當點擊後退按鈕時,它會關閉two.py並返回到one.py.

這是one.py我的elif聲明:

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

在two.py:

def back(): 
    app.destroy() 

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

有什麼辦法,我可以得到這個打算?謝謝。

+0

所以,你要運行'one.py'和'two.py'爲單獨的節目? –

+0

@ J.P.Petersen是的。它就像一個前端和後端程序 – noob

回答

0

你想要做的是從你的python文件two.py導入你的back()函數。這就像這樣:

在你one.py,寫:

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

閱讀上what importing is and how it works here

0

您需要通過app爲父母back按鈕:

例子:

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

考慮模塊化你的應用程序。模塊化爲pacesetter以及其他可用選項。

在項目文件夾中創建一個__init__.py,其中one.py和two.py位於(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, 

運行

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