[英]How to run an entire Python module from another Python module?
我有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没有办法简单地执行另一个模块吗?
您必须作为库导入。
def addiction(a,b):
'''Sum two numbers. (int, int)'''
return(a+b)
import modA
print(modA.addiction(2,3))
5
我现在想到的最好的解决方案是
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)
该解决方案非常混乱,因为现在您必须跟踪第一次执行模块的时间。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.