所以,我是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