我有脚本:
移动1.py:
def move():
print("walk!")
移动2.py:
def move():
print("run!")
And man.py,可以接受通过参数参数 moving1 或 moving2 脚本来执行操作。
man.py:
import sys
if len(sys.argv) <= 1:
exit("Too less arguments calling script")
__import__(sys.argv[1])
moving = sys.modules[sys.argv[1]]
def move():
moving.move()
现在我有 testman.py 脚本,它必须测试 man.py 执行的所有变体:
测试人.py
import man #and somehow add here as argument "moving1"
man.move()
import man #and somehow add here as argument "moving2"
man.move()
存在很多类似的问题,但它们并不完全符合我的要求。如何向导入的脚本添加参数?问题不在于检查
if __name__ = "__main__":
在那里,问题是使用我想要的参数完全导入脚本。是否可以?
您应该将参数处理代码和导入代码分开:
man.py
import sys
def move():
moving.move()
def setup(module):
global moving
moving = __import__(module)
if __name__ == "__main__":
if len(sys.argv) <= 1:
exit("Too less arguments calling script")
setup(sys.argv[1])
测试人.py
import man
man.setup(<name>)
man.move()
然而,这似乎是实现您正在尝试做的事情的一种非常奇怪的方式。也许你可以澄清你的目标?
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)