多次调用python文件中的模块

时间:2013-03-13 14:56:28

标签: python python-3.3

我正在尝试使用python创建一个非常基本的操作系统,它是这样的:

print ("welcome to ben's operating system V 0.1.0")
ten = 0
while (ten < 1000000):
    do = input()
    if do == ("pythag"):
        from bensos import pythag
    elif do == ("word"):
        from bensos import word
    else :
        print ("invalid input")

毕达哥代码就是这个

from math import sqrt
a = float(input ("a="))

b = float(input ("b="))
a = a*a

b = b*b

c = a+b

c = sqrt (c)
print ("c=")
print (c)
d = input("end")

我只有两个程序,而单词一个不起作用,我没有完美的循环,但它的工作原理。我遇到的问题是重载代码;我把它放在底部,它说出了某种错误,所以我尝试将它放入模块中,但仍然出现了错误。没有重新加载它运行正常,但我只能使用模块一次,我到处寻找,没有任何帮助。

1 个答案:

答案 0 :(得分:1)

最好将所有导入放在顶部,所以

from bensos import pythag
from bensos import word
...

然后在pythag和word模块中定义一个过程runModule并用当前模块中的所有代码填充它。

def runModule():
    #The contents of your files at the moment

所以你的pythag文件看起来像

from math import sqrt

def runModule():
    a = float(input ("a="))

    b = float(input ("b="))
    a = a*a

    b = b*b

    c = a+b

    c = sqrt (c)
    print ("c=")
    print (c)
    d = input("end")

这样,您的代码将首先加载模块,然后您可以随时调用它们

pythag.runModule()

如果不清楚,或者你还有麻烦,请告诉我。