亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

解決python多線程報(bào)錯(cuò):AttributeError: Can't pickle local object問(wèn)題

瀏覽:25日期:2022-07-30 17:16:50

報(bào)錯(cuò)信息:

Traceback (most recent call last):File “D:/flaskProject/test.py”, line 35, in testpool.apply(self.out, args=(i,))File “Python37-32libmultiprocessingpool.py', line 261, in applyreturn self.apply_async(func, args, kwds).get()File 'libmultiprocessingpool.py”, line 657, in getraise self._valueFile “Python37-32libmultiprocessingpool.py', line 431, in _handle_tasksput(task)File 'Python37-32libmultiprocessingconnection.py”, line 206, in sendself._send_bytes(_ForkingPickler.dumps(obj))File “*Python37-32libmultiprocessingreduction.py”, line 51, in dumpscls(buf, protocol).dump(obj)TypeError: can’t pickle _thread._local objects

原類的構(gòu)造函數(shù):

class threadtest:def __init__(self, ipList, user, password): self.ipList = ipList self.httpAuth = HTTPDigestAuth(user, password) returndef out(self, i): url = 'http://' + i + '/name' response = requests.get(url, self.httpAuth) print(response.text) returndef test(self): pool = Pool(processes=2) for i in self.ipList: pool.apply(self.out, args=(i,)) pool.close() pool.join() return

if name == ‘main’:ipList = [‘192.168.2.1’, ‘192.168.2.2’, ‘192.168.2.3’, ‘192.168.2.4’, ‘192.168.2.5’, ]a = threadtest(ipList, ‘a(chǎn)dmin’, ‘a(chǎn)dmin’)a.test()

原因:

在class中對(duì)屬性進(jìn)行初始化使用了其它類返回的句柄進(jìn)行初始化導(dǎo)致,HTTPDigestAuth的返回值不能進(jìn)行序列化,也就是不能作為cls(buf, protocol).dump(obj)的參數(shù)進(jìn)行序列化。

將self.httpAuth = HTTPDigestAuth(httpUser, httpPassword)修改為:

self.httpUserself.httpPassword

并將函數(shù)HTTPDigestAuth放到類的方法中

修改后:

class threadtest:def __init__(self, ipList, user, password): self.ipList = ipList self.user = user self.password = password returndef out(self, i): url = 'http://' + i + '/name' response = requests.get(url, HTTPDigestAuth(self.user, self.password)) print(response.text) returndef test(self): pool = Pool(processes=2) for i in self.ipList: pool.apply(self.out, args=(i,)) pool.close() pool.join() return

if name == ‘main’:ipList = [‘192.168.2.1’, ‘192.168.2.2’, ‘192.168.2.3’, ‘192.168.2.4’, ‘192.168.2.5’, ]a = threadtest(ipList, ‘a(chǎn)dmin’, ‘a(chǎn)dmin’)a.test()

以上這篇解決python多線程報(bào)錯(cuò):AttributeError: Can’t pickle local object問(wèn)題就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Python 編程
主站蜘蛛池模板: 亚洲精品欧美综合四区 | 深夜爽爽爽gif福利免费 | 日本一线一区二区三区免费视频 | 久热精品男人的天堂在线视频 | 成人伊人亚洲人综合网站222 | 涩涩国产精品福利在线观看 | 国产一区二区三区毛片 | 欧美黑人巨大肥婆性视频 | 国产精品无 | 色影影院| 久久亚洲综合 | 亚洲人成在线观看一区二区 | 99在线精品免费视频 | 日韩黄色小视频 | 成人在线观看不卡 | 操一操| 一区视频在线 | 高清精品美女在线播放 | 国产精品特黄一级国产大片 | 中文一级黄色片 | 国产精品一区二区三区四区五区 | 91在线高清 | 国语自产精品视频在线第 | 一区视频免费观看 | 国产91短视频 | 午夜三级在线 | 色婷婷综合激情视频免费看 | 欧美桃色 | 国产老湿机福利视频在线观看 | 欧美人成在线观看网站高清 | 亚洲午夜影视 | 成人欧美一区二区三区的电影 | 国产精品日韩欧美一区二区 | 狠狠色丁香久久综合五月 | 黄色三级网站在线观看 | 曰韩美女一级视频 | 爱爱免费小视频 | 黄色仓库在线观看 | 色wwwww | 亚洲成在人天堂一区二区 | 精品久久综合一区二区 |