在现有的python脚本中运行并执行另一个python脚本

时间:2016-12-01 08:07:31

标签: python python-3.x tkinter

我正在使用 python版本3.4.2

我有两个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()

有什么方法可以让我这样做吗?谢谢。

3 个答案:

答案 0 :(得分:0)

您要做的是从python文件back()导入two.py函数。这样工作原理如下:

在你的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

答案 1 :(得分:0)

您需要将app作为父级传递给back按钮:

示例:

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

答案 2 :(得分: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