2016-12-01 93 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