Python:你如何反复调用基础程序中的程序?

时间:2014-03-04 02:38:03

标签: python

我正在尝试制作一个程序“main”,调用其他程序,完成后返回main。我希望能够重复调用相同的程序。问题是如果我第二次使用“导入”时第一次使用“导入”调用程序。

主:

main = input("What option would you like?")

if main == 1:
    import proga
elif main == 2:
    import progb
else:
    import probc

more = input("Would you like more?")
if more == 'y':
    import main
else:
    print "Have a nice day!"

PROGA: 计算一下 打印这个

PROGB: 计算一下 打印

当我对“更多”问题回答'y'时,它将回复“main = input”部分,但是如果我选择了我已经选择的选项,它将不会播放,因为它已经被导入了。还有其他方法可以再次播放这些节目吗?我应该使用execfile吗?使用os.system?谢谢!

2 个答案:

答案 0 :(得分:0)

尝试使用execfile()获取Python 2及以下内容:

execfile("proga.py", {})

对于更高版本(Python 3+),请尝试以下操作:

exec(compile(open(filename, "rb").read(), "proga.py", 'exec'))

答案 1 :(得分:0)

反复调用程序效率不高。同样,对于类似你的例子,调用另一个程序是完全没必要的。执行此操作的最佳方法是将proga和progb编写为函数,然后将它们导入主程序。之后,调用函数。

More information here.