如何在多处理中使用多于1个参数的函数?

时间:2016-12-21 07:32:57

标签: python python-2.7

所以,我是Python中多处理的新手。我想要的是并行运行功能。这是我的代码:

from multiprocessing import Pool,cpu_count

def f(x,y): return x*y

if __name__=='__main__':
    A=input('Input list: ')
    n=input('Input multiplier: ')
    def g(x): return f(x,y=n)
    p=Pool(cpu_count())
    result=p.map(g,A)
    print result

但是,当我尝试运行它时会显示此错误:

AttributeError: 'module' object has no attribute 'g'

我做错了什么?有什么方法可以防止这种情况吗?因为如果我这样做:

from multiprocessing import Pool,cpu_count

A=input('Input list: ')
n=input('Input multiplier: ')

def f(x,y=n): return x*y

if __name__=='__main__':
    p=Pool(cpu_count())
    result=p.map(g,A)
    print result

显示此错误:

EOFError: EOF when reading a line

0 个答案:

没有答案