最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python 多線程將大文件分開下載后在合并的實例

 更新時間:2018年11月09日 09:21:28   作者:聽雪聲的春天  
今天小編就為大家分享一篇python 多線程將大文件分開下載后在合并的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

廢話不多說了,上代碼吧:

import threading
import requests
import time
import os


class Mythread(threading.Thread):
  def __init__(self,url,startpos,endpos,f):
    super(Mythread,self).__init__()
    self.url=url
    self.startpos=startpos
    self.endpos=endpos
    self.fd=f
  def download(self):
    print('start thread:%s at %s'%(self.getName(),time.time()))
    headers={'Range':'bytes=%s-%s'%(self.startpos,self.endpos)}
    res=requests.get(self.url,headers=headers)
    self.fd.seek(self.startpos)
    self.fd.write(res.content)
    print('Stop thread:%s at%s'%(self.getName(),time.time()))
    self.fd.close()
  def run(self):
    self.download()
if __name__=="__main__":
  url='http://www.wendangxiazai.com/word/b-cfbdc77931b765ce050814a9-1.doc'
  filename=url.split('/')[-1]
  filesize=int(requests.head(url).headers['Content-Length'])
  print('%s filesize:%s'%(filename,filesize))


  threadnum=3
  threading.BoundedSemaphore(threadnum)#允許線程個數(shù)
  step=filesize//threadnum
  mtd_list=[]
  start=0
  end=-1
  
  tempf = open('E:\Python\py\web'+filename,'w')
  tempf.close()
  mtd_list=[]
  with open('E:\Python\py\web'+filename,'rb+')as f:
    #獲得文件句柄
    fileno=f.fileno()#返回一個整型的文件描述符,可用于底層操作系統(tǒng)的 I/O 操作
    while end<filesize-1:
      start=end+1
      end=start+step-1
      if end>filesize:
        end=filesize
      print ('Start:%s,end:%s'%(start,end))
      dup=os.dup(fileno)#復(fù)制文件句柄
      fd=os.fdopen(dup,'rb+',-1)
      t=Mythread(url,start,end,fd)
      t.start()
      mtd_list.append(t)
    for i in mtd_list:
      i.join()
  f.close()

以上這篇python 多線程將大文件分開下載后在合并的實例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • python編譯環(huán)境配置的實現(xiàn)步驟

    python編譯環(huán)境配置的實現(xiàn)步驟

    本文主要介紹了python編譯環(huán)境配置的實現(xiàn)步驟,文中通過圖文示例介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友們下面隨著小編來一起學(xué)習學(xué)習吧
    2025-05-05
  • Python 通過正則表達式快速獲取電影的下載地址

    Python 通過正則表達式快速獲取電影的下載地址

    這篇文章主要介紹了Python 通過正則表達式快速獲取電影的下載地址,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友們下面隨著小編來一起學(xué)習學(xué)習吧
    2020-08-08
  • Numpy掩碼式數(shù)組詳解

    Numpy掩碼式數(shù)組詳解

    下面小編就為大家分享一篇Numpy掩碼式數(shù)組詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-04-04
  • Python OpenCV實現(xiàn)裁剪并保存圖片

    Python OpenCV實現(xiàn)裁剪并保存圖片

    這篇文章主要為大家詳細介紹了Python OpenCV實現(xiàn)裁剪并保存圖片,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-07-07
  • python和node.js生成當前時間戳的示例

    python和node.js生成當前時間戳的示例

    這篇文章主要介紹了python和node.js生成當前時間戳的示例,幫助大家更好的理解和學(xué)習python與node.js,感興趣的朋友可以了解下
    2020-09-09
  • 如何更換python默認編輯器的背景色

    如何更換python默認編輯器的背景色

    在本篇內(nèi)容里小編給大家整理的是一篇關(guān)于如何更換python默認編輯器的背景色的相關(guān)內(nèi)容,有興趣的朋友們可以學(xué)習參考下。
    2020-08-08
  • Python爬蟲基礎(chǔ)初探selenium

    Python爬蟲基礎(chǔ)初探selenium

    selenium最初是一個自動化測試工具,而爬蟲中使用它主要是為了解決requests無法執(zhí)行javaScript代碼的問題。本文給大家分享Python爬蟲基礎(chǔ)selenium知識,包括selenium工作原理,感興趣的朋友跟隨小編一起看看吧
    2021-05-05
  • Jmeter調(diào)用Python腳本實現(xiàn)參數(shù)互相傳遞的實現(xiàn)

    Jmeter調(diào)用Python腳本實現(xiàn)參數(shù)互相傳遞的實現(xiàn)

    這篇文章主要介紹了Jmeter調(diào)用Python腳本實現(xiàn)參數(shù)互相傳遞的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友們下面隨著小編來一起學(xué)習學(xué)習吧
    2021-01-01
  • Python定時任務(wù)框架APScheduler安裝使用詳解

    Python定時任務(wù)框架APScheduler安裝使用詳解

    這篇文章主要介紹了Python定時任務(wù)框架APScheduler安裝使用詳解,重點介紹如何使用APscheduler實現(xiàn)python定時任務(wù),本文通過實例代碼給大家介紹的非常詳細,對Python定時任務(wù)APScheduler相關(guān)知識感興趣的朋友一起看看吧
    2022-05-05
  • 使用Matplotlib繪制平行坐標系的示例詳解

    使用Matplotlib繪制平行坐標系的示例詳解

    平行坐標系,是一種含有多個垂直平行坐標軸的統(tǒng)計圖表,這篇文章主要為大家介紹了如何使用繪制平行坐標系,需要的小伙伴可以參考一下
    2023-07-07

最新評論

北流市| 福安市| 屯门区| 桐梓县| 鱼台县| 罗城| 高淳县| 二连浩特市| 湖南省| 平和县| 黄石市| 萍乡市| 潍坊市| 内丘县| 无极县| 收藏| 边坝县| 南溪县| 达州市| 耒阳市| 弋阳县| 晋城| 尼玛县| 平湖市| 行唐县| 新乡县| 稷山县| 华容县| 虎林市| 自贡市| 泰兴市| 咸阳市| 漳州市| 博白县| 吴旗县| 土默特右旗| 清苑县| 洪洞县| 定远县| 宜城市| 延边|