我试图遍历一个url列表,但得到的输出是逐字符的,而不是逐行的。在没有多处理的情况下运行时,它工作得非常好。然而,当我尝试多重处理时,它开始逐字读取。为什么会这样?你知道吗
我已经阅读了大量关于如何逐行阅读的文章,在我看来,我做得很正确。我哪里出错了?它在没有多重处理的情况下工作得很好。你知道吗
import urllib.request
import urllib.error
import multiprocessing
def findAdmin(URLList):
# Loops through links
for link in URLList:
print (link)
# Multi-processing worker
def mp_worker(URLList):
findAdmin(URLList)
# Multi-processing handler
def mp_handler(URLList):
p = multiprocessing.Pool(2)
p.map(mp_worker, URLList)
if __name__ == '__main__':
URLList = open('sites.txt','r')
mp_handler(URLList)
## When running just findAdmin(URLList), the program works flawlessly.
# findAdmin(URLList)
所以,关于多重处理,我肯定做错了什么。但我就是搞不懂是什么。非常感谢您的帮助!你知道吗
.map()
对URLList中的每个条目运行mp_worker
for循环是不必要的。将findAdmin
更改为:相关问题 更多 >
编程相关推荐