在其他函数中导入模块

import modules within other function

提问人:Dr. Joe 提问时间:11/23/2018 更新时间:11/23/2018 访问量:36

问:

我想导入模块,具体取决于某些东西(例如用户参数输入)并使用该模块中提供的函数。 但它只允许我在文件开始时导入,而不是在我的主函数中导入。我该如何解决这个问题?

python-3.x 导入

评论


答:

0赞 anisbhsl 11/23/2018 #1

你可以使用 importlib

>>userinput='math'
>>import importlib
>>my_module=importlib.import_module(userinput)
>>print(my_module.pow(4,2))
16 

我认为这满足了你的要求!

import importlib
u='math'
def func():
  m=importlib.import_module(u)
  print(m.sqrt(4))

func()
0赞 Coder Cody 11/23/2018 #2

当我测试这个问题时,我没有收到任何错误,这是我的代码:

import random

global x
condition=random.randint(0, 1)
x=1
def function():
    if x == condition:
        import time
        time.sleep(1)
        print("imported function correctly!")
    else:
        try:
            time.sleep(1)
        except:
            print("conditions not met and module is not imported")

function()

评论

0赞 Coder Cody 11/23/2018
我使用一个简单的时间模块来测试我的程序,当我运行它时,它等待指定的时间
0赞 Dr. Joe 11/23/2018
这怎么可能?是python 2吗?