我有2个python模块(modA.py和modB.py)。我想从modB.py运行modA.py。我怎么做?如果我将modA.py导入modB.py中,那么我可以访问modA.py中的函数和类,但是实际上如何执行modA.py(全部)?
这是一个例子:
-modA.py-
print "Hello! I'm ModA"
我应该如何编写modB.py,以便在执行modB.py之后获得输出:
“你好!我是modA”
编辑:在注释中,提到导入 是执行模块。这是非常有用的信息。感谢那。但是,有一个小问题。如果我有怎么办?
--- modB.py ---
# execute modA.py
import modA.py
print "some ModB.py stuff here"
# execute modA.py again
import modA.py
在这种情况下,由于已经导入了modA.py,因此它不会第二次执行。我想也许有办法“取消导入”模块吗?即使,这似乎也不是一个优雅的解决方案。 Python没有办法简单地执行另一个模块吗?
答案 0 :(得分:0)
您必须作为库导入。
def addiction(a,b):
'''Sum two numbers. (int, int)'''
return(a+b)
import modA
print(modA.addiction(2,3))
5
答案 1 :(得分:0)
目前我能想到的最佳解决方案是
import imp
#first execution of modA.py
import modA.py
print "some ModB.py stuff here"
#second execution of modA.py
imp.reload(modA.py)
此解决方案非常混乱,因为现在您必须跟踪第一次执行模块的时间。