gpt4 book ai didi

python - 导入带参数的 python 脚本

转载 作者:太空狗 更新时间:2023-10-30 02:04:06 24 4
gpt4 key购买 nike

我有脚本:

moving1.py:

def move():
print("walk!")

moving2.py:

def move():
print("run!")

ma​​n.py一样,可以接受参数为moving1或moving2的脚本来 Action 。

ma​​n.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__":

那里,问题是使用我想要的参数完全导入脚本。可能吗?

最佳答案

您应该将参数处理代码和导入代码分开:

ma​​n.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()

但是,这似乎是一种非常奇怪的实现您正在尝试做的事情的方式。也许您可以阐明您的目标?

关于python - 导入带参数的 python 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24381727/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com