最新国产好看的视频,伊人天堂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)#復制文件句柄
      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)步驟,文中通過圖文示例介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2025-05-05
  • Python 通過正則表達式快速獲取電影的下載地址

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

    這篇文章主要介紹了Python 通過正則表達式快速獲取電影的下載地址,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    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生成當前時間戳的示例,幫助大家更好的理解和學習python與node.js,感興趣的朋友可以了解下
    2020-09-09
  • 如何更換python默認編輯器的背景色

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

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

    Python爬蟲基礎初探selenium

    selenium最初是一個自動化測試工具,而爬蟲中使用它主要是為了解決requests無法執(zhí)行javaScript代碼的問題。本文給大家分享Python爬蟲基礎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),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-01-01
  • Python定時任務框架APScheduler安裝使用詳解

    Python定時任務框架APScheduler安裝使用詳解

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

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

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

最新評論

郓城县| 龙口市| 和田市| 长岛县| 九龙坡区| 福州市| 柘城县| 兴安县| 泽库县| 灵石县| 麦盖提县| 灵宝市| 乌拉特后旗| 平原县| 宁阳县| 逊克县| 视频| 高邑县| 高台县| SHOW| 盈江县| 禹城市| 石嘴山市| 涟源市| 梨树县| 安化县| 长治县| 沈丘县| 斗六市| 威远县| 张家港市| 镇坪县| 巨野县| 息烽县| 建德市| 汝城县| 江川县| 高清| 宝应县| 桑植县| 广东省|