不久前,我有一个简单的脚本来查找网站的面板。我想再次尝试使用线程来执行此操作,但过了一会儿,我被卡住了。
我的代码使用2个路径文件来创建一个具有所有组合的文件,并将其放在“结果”变量中。
我不明白如何(如果可以)使每个线程占用文件的一行并执行应有的功能。
# variable with site + word combination
results = [site+word for site in sites for word in words]
for line in results:
line2 = str(line)
def run(n, name):
print(' {}. '.format(line2))
# request... status code ecc...
time.sleep(n)
print('{} finish'.format(line2))
start = time.time()
for i in range(5):
t = threading.Thread(target=run, name='thread{}'.format(i)
, args=(3, 'thread{}'.format(line2)))
thread_list.append(t)
t.start()
print('{} è partito'.format(t.name))
for t in thread_list:
t.join()
end = time.time()
print("time taken : {}".format(end-start))
输出:
Hi http://uno.com/santissimo.
thread0 go
Hi http://uno.com/santissimo.
thread1 go
Hi http://uno.com/santissimo.
thread2 go
Hi http://uno.com/santissimo.
thread3 go
Hi http://uno.com/santissimo.
thread4 go
[OK]
200
[OK]
200
[OK]
200
[OK]
200
[OK]
我希望我的线程取结果var的1行,然后开始执行run函数。我要去哪里错了?