2024-05-13 22:19:45 发布
网友
我想要这样的东西:
import Variant x = Variant.Pop1 from x import mid
这可能吗
是的,但这不是一个关于如何导入模块的好例子,这是一个糟糕的做法
这正是你想要做的,但更好
from Variant.Pop1 import mid as x def my_func(var): # do something my_func(x)
例如:
from random import choice as x my_list = [1, 2, 3, 4] def my_func(var): return var(my_list) print(my_func(x))
我不知道它是否会帮助你,但是你可以考虑^ {CD1>}模块:它允许动态导入,比如:
from importlib import import_module module_names = ["Pop1", "Pop2", ...] def foo(): for name in module_names: module = import_module(name, "Variant") module.mid(...)
要从变量中的名称导入模块,请使用importlib(see python docs)
importlib
import importlib import os.path as p x = p.__name__ q = importlib.import_module(x)
当然,这个例子很愚蠢,因为q的值与p的值相同,但它演示了语法。如果这不是您想要的,请提供更多详细信息
另一种选择是使用exec,如this other post
是的,但这不是一个关于如何导入模块的好例子,这是一个糟糕的做法
这正是你想要做的,但更好
例如:
我不知道它是否会帮助你,但是你可以考虑^ {CD1>}模块:它允许动态导入,比如:
要从变量中的名称导入模块,请使用
importlib
(see python docs)例如:
当然,这个例子很愚蠢,因为q的值与p的值相同,但它演示了语法。如果这不是您想要的,请提供更多详细信息
另一种选择是使用exec,如this other post
相关问题 更多 >
编程相关推荐