0
有一段代码从REPL运行时在Win 7奇怪的错误与atrribute没有发现
from multiprocessing import Process, Pool
import time
from urllib import request
def millis():
return int(round(time.time() * 1000))
def http_get(url):
start_time = millis()
result = {"url": url, "data": request.urlopen(url, timeout=5).read()[:100]}
print(url + " took " + str(millis() - start_time) + " ms")
return result
start_time = millis()
if __name__ == "__main__":
urls = ['http://www.google.com/', 'https://foursquare.com/', 'http://www.yahoo.com/', 'http://www.bing.com/', "https://www.yelp.com/"]
pool = Pool(processes=5)
results = pool.map(http_get, urls)
print("\nTotal took " + str(millis() - start_time) + " ms\n")
for result in results:
print(result)
产生一个奇怪的错误和错误是
Traceback (most recent call last):
File "c:\python36\lib\multiprocessing\process.py", line 249, in _bootstrap
self.run()
File "c:\python36\lib\multiprocessing\process.py", line 93, in run
self._target(*self._args, **self._kwargs)
File "c:\python36\lib\multiprocessing\pool.py", line 108, in worker
task = get()
File "c:\python36\lib\multiprocessing\queues.py", line 345, in get
return _ForkingPickler.loads(res)
AttributeError: Can't get attribute 'http_get' on <module '__main__' (built-in)>
我不知道什么我我做错了。没有多处理它就像魅力