Python 3.x multiprocessing.dummy池映射的异常处理
免责声明:刚刚开始学习Python或一般的编码。所以请原谅我问了一些愚蠢的问题,或者不能正确地解释这个问题 我在做什么? 要请求一些URL(以快速异步方式或使用线程/多处理),请保存响应,对其中的某些内容进行grep并将其保存到文本文件中。使用bash可以很容易地完成,但是我希望它能够为将来的添加扩展,并学习python、python网络和多线程/处理的概念 我想出的工作代码:Python 3.x multiprocessing.dummy池映射的异常处理,python-3.x,exception,python-requests,python-multiprocessing,python-multithreading,Python 3.x,Exception,Python Requests,Python Multiprocessing,Python Multithreading,免责声明:刚刚开始学习Python或一般的编码。所以请原谅我问了一些愚蠢的问题,或者不能正确地解释这个问题 我在做什么? 要请求一些URL(以快速异步方式或使用线程/多处理),请保存响应,对其中的某些内容进行grep并将其保存到文本文件中。使用bash可以很容易地完成,但是我希望它能够为将来的添加扩展,并学习python、python网络和多线程/处理的概念 我想出的工作代码: import os import subprocess from multiprocessing.dummy impo
import os
import subprocess
from multiprocessing.dummy import Pool as ThreadPool
import requests
def cit(urls):
results = pool.map(requests.get, urls)
pool.close()
pool.join()
return [result.text for result in results]
def to(urls):
data = ' '.join(cit(urls))
p2 = subprocess.run([<external-prog>], text=True, capture_output=True, input=data)
p3 = subprocess.run([<another-external-prog>], text=True, capture_output=True, input=p2.stdout)
with open('xyz.txt', 'w') as f:
subprocess.run(['sort', '-u'], text=True, stdout=f, input=p3.stdout)
co()
def co():
with open('final.txt', 'w') as fs:
subprocess.run(<external prog>)
if __name__ == '__main__':
with open('urls.txt', 'r') as f:
urls = f.read().splitlines()
to(urls)
导入操作系统
导入子流程
从multiprocessing.dummy导入池作为线程池
导入请求
def cit(URL):
结果=pool.map(requests.get,URL)
pool.close()
pool.join()
return[result.text用于result in results]
def to(URL):
数据=''.join(cit(URL))
p2=子流程。运行([],text=True,capture\u output=True,input=data)
p3=子流程.run([],text=True,capture\u output=True,input=p2.stdout)
以open('xyz.txt','w')作为f:
subprocess.run(['sort','-u'],text=True,stdout=f,input=p3.stdout)
co()
def co():
打开('final.txt','w')作为fs:
subprocess.run()
如果uuuu name uuuuuu='\uuuuuuu main\uuuuuuu':
将open('url.txt','r')作为f:
URL=f.read().splitlines()
到(URL)
问题:
import os
import subprocess
from multiprocessing.dummy import Pool as ThreadPool
import requests
def cit(urls):
results = pool.map(requests.get, urls)
pool.close()
pool.join()
return [result.text for result in results]
def to(urls):
data = ' '.join(cit(urls))
p2 = subprocess.run([<external-prog>], text=True, capture_output=True, input=data)
p3 = subprocess.run([<another-external-prog>], text=True, capture_output=True, input=p2.stdout)
with open('xyz.txt', 'w') as f:
subprocess.run(['sort', '-u'], text=True, stdout=f, input=p3.stdout)
co()
def co():
with open('final.txt', 'w') as fs:
subprocess.run(<external prog>)
if __name__ == '__main__':
with open('urls.txt', 'r') as f:
urls = f.read().splitlines()
to(urls)