Python 3发出使用__import__导入多处理的问题

时间:2018-01-12 00:59:17

标签: python python-3.x python-import python-multiprocessing

因此,我目前遇到的问题是使用__import__甚至只是标准导入。当导入多处理只是主程序包时,它会经历一个简单的测试,看看是否一切正常。我遇到了一个错误,下面是当前没有工作的代码。

__import__('multiprocessing')

def my_function():
    print('Hello World')

if __name__ == '__main__':
    processd = multiprocessing.Process(target=my_function)
    processd.start()
    processd.join()

它运行它将返回以下错误:

Traceback (most recent call last):
  File "F:\Webserv\Python\MP.py", line 7, in <module>
    processd = multiprocessing.Process(target=my_function)
NameError: name 'multiprocessing' is not defined

我有什么遗漏吗?

1 个答案:

答案 0 :(得分:2)

__import__是一个函数,因此您需要捕获其返回值:

multiprocessing = __import__('multiprocessing')

标准方法是使用import语句:

import multiprocessing

这是首选方式。只有在真正需要时才能进行程序化导入。此外,不应使用__import__

  

导入模块。因为这个函数适合Python使用   口译员而不是一般用途,最好使用   importlib.import_module()以编程方式导入模块。