日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

python 實現多進程

系統 2141 0

方法一:

            
              from urllib import request
from multiprocessing import Process
import os
#下載器函數
def downloader(url,**kwargs):
    print('當前進程id:',os.getpid(),os.getppid())
    #os.getpid()獲取當前進程id,os.getppid()獲取當前進程父進程id
    print('關鍵字參數:',kwargs['pro'])
    #文件名
    file_name = url.split('/')[-1]
    #網絡請求
    response = request.urlopen(url)#一個響應對象
    #獲取響應的內容
    content = response.read()
    #保存
    with open(file_name,'wb') as fp:
        fp.write(content)
if __name__ == '__main__':
    url_list = [
        'https://www.baidu.com/img/baidu_jgylogo3.gif',
        'http://www.offcn.com/statics/images/zgimg/index2019.png'
    ]
    name_list = ['進程1--張翠花','進程2---趙鐵蛋']
    p_list = []#進程列表
    i = 0
    for url in url_list:
        n = name_list[i]
        i = i+1
        p = Process(target=downloader,name=n,args=(url,),kwargs={'pro':"最高等級"})
        print('子進程(%s)將要被運行~!'%p.name)
        p.start()
        p_list.append(p)

    for p in p_list:
        p.join()#對所有子進程加上阻塞,等到子進程全部執行完畢,再繼續執行主進程

    print('主進程id:',os.getpid())

    #確保這一句代碼在所有子進程結束
    print('~~~~~~~~~~~~~~~~~~~~所有文件下載完成!~~~~~~~~~~~~~~~~~~~~~~~')

            
          

方法二

            
              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)
        self.url = url

    #步驟3:重寫Process類中的run方法
    def run(self):
        print('當前進程id:', os.getpid(), os.getppid())

        # 文件名
        file_name = self.url.split('/')[-1]

        # 網絡請求
        response = request.urlopen(self.url)  # 一個響應對象

        # 獲取響應的內容
        content = response.read()

        # 保存
        with open(file_name, 'wb') as fp:
            fp.write(content)

if __name__ == '__main__':
    url_list = [
        'https://www.baidu.com/img/baidu_jgylogo3.gif',
        'http://www.offcn.com/statics/images/zgimg/index2019.png'
    ]
    for url in url_list:
        p = Process_Class(url)
        p.start()


            
          

更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 镇赉县| 英吉沙县| 镇原县| 琼海市| 得荣县| 武城县| 山阳县| 武威市| 杭州市| 延吉市| 河西区| 天全县| 凤山县| 瑞安市| 日土县| 万源市| 白山市| 蒙山县| 西丰县| 昌乐县| 灵台县| 双辽市| 汉中市| 蛟河市| 济阳县| 泗水县| 保山市| 澳门| 伊春市| 泌阳县| 日喀则市| 英超| 若羌县| 铁岭县| 花莲县| 小金县| 武陟县| 将乐县| 关岭| 剑河县| 淄博市|