#创建进程的方法二 from multiprocessing import Process import os from urllib import request #步骤1 ,继承Process class Process_Class(Process): # 因为Process类本身也有init方法,这个子类相当于重写了这个方法,但这样会带来一个问题,我们并没有完全的 # 初始化一个进程类,所以不能使用这个类继承的一些方法和属性。 #步骤2 ,使用父类的初始化方法来初始化自己 def __init__(self,url): Process.__init__(self) #这种方法与 super().__init__()的一种区别是super后没有self # super().__init__() self.url=url #步骤3,重写Process类中的run方法 def run(self): print("~~子进程进行网络请求相应操作~~") file_name = self.url.split("/")[-1] # 获取图片的尾部名字 response = request.urlopen(self.url) # 打开url地址并且获取图片信息 content = response.read() # 读出图片内容 with open(file_name, "wb") as fb: # 把图片写入文件 fb.write(content) if __name__ == '__main__': url_list=[ "https://img-ads.csdn.net/2019/201903061715273943.jpg", "https://img-ads.csdn.net/2019/201903061737562959.jpg", ] for url in url_list: p=Process_Class(url) p.start() #调用start()时run()会自动运行,所以一般把自己要执行写的代码放到run()里
python进程的第二种创建方法day17
猜你喜欢
转载自blog.csdn.net/qq_39112101/article/details/88423425
今日推荐
周排行