多线程,不能运行Process命令

时间:2014-12-01 15:01:31

标签: python multiprocessing

我正在尝试以下代码:

#!/usr/bin/python
import multiprocessing

def f(name): 
print 'hello', name

if __name__ == '__main__':
    p = multiprocessing.Process(target=f, args=('bob',))
    p.start()
    p.join()

我得到的输出是:

Traceback (most recent call last):
  File "a.py", line 9, in <module>
    p = multiprocessing.Process(target=f, args=('bob',))
AttributeError: 'module' object has no attribute 'Process'

3 个答案:

答案 0 :(得分:6)

您正在尝试从本地目录import multiprocessing而不是python库。 python解释器首先尝试从当前目录导入模块。由于您的目录中有一个名为multiprocessing.pyc的文件,解释器正在尝试导入该文件。因此你得到了错误。因此,删除multiprocessing.pyc将有助于解决您的问题。

答案 1 :(得分:0)

错误是命名,我的脚本在创建之后就是“multiprocessing.py&#39;”。我制作了另一个名为&#39; a.py&#39;他们俩都没有工作。列出目录后,&#39; multiprocessing.pyc&#39;找到了。我删除了这个文件,并执行了“a.py”#39;像宝石一样执行的文件! 感谢@Bhargav Rao突出显示

答案 2 :(得分:-1)

不要将文件名称作为&#34; multiprocessing.py&#34;,给出任何其他

感谢, vybhav