中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么在python中利用多進程實現文件下載傳輸功能

發布時間:2021-05-22 17:20:49 來源:億速云 閱讀:262 作者:Leah 欄目:開發技術

今天就跟大家聊聊有關怎么在python中利用多進程實現文件下載傳輸功能,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

需求:

實現文件夾拷貝功能(包括文件內的文件),并打印拷貝進度

模塊:

os模塊
multiprocessing 模塊

代碼:

import multiprocessing
import os


def deal_file(old_dir,new_dir,file_name,queue):
  # 打開以存在文件
  old_file = open(os.path.join(old_dir,file_name),"rb")
  # 創建新文件
  new_file = open(os.path.join(new_dir,file_name),"wb")
  # 循環將內容寫入新文件
  while True:
    # 單行讀取
    data = old_file.readline()
    # 如果有內容寫入否則退出
    if data:

      new_file.write(data) 
    else:
      break

  # 關閉文件
  old_file.close()
  new_file.close()
  # 向隊列中添加值用以計數,參數可填任意值
  queue.put(file_name)

def main():
  # 創建用戶輸入文件的備份
  old_dir = input("請輸入文件名:")

  new_dir = "備份"+old_dir

  os.mkdir(new_dir)
  # 列出文件夾內的文件列表
  file_list = os.listdir(old_dir)

  queue = multiprocessing.Queue(128)
  for file_name in file_list:

    pro = multiprocessing.Process(target=deal_file,args=(old_dir,new_dir,file_name,queue))
    # 創建子進程
    pro.start()
  # 定義變量用以計數
  num = 0
  while True:
    # 取出隊列中的值
    queue.get()
    # 計數器+1
    num += 1
    # 打印下載進度
    print("\r文件已下載%.2f %%" % (num/len(file_list)*100),end="")
    # 如果計數等于文件長度提示完成退出
    if num == len(file_list):
      print("文件下載完成")
      break
if __name__ == "__main__":

  main()

python的五大特點是什么

python的五大特點:1.簡單易學,開發程序時,專注的是解決問題,而不是搞明白語言本身。2.面向對象,與其他主要的語言如C++和Java相比, Python以一種非常強大又簡單的方式實現面向對象編程。3.可移植性,Python程序無需修改就可以在各種平臺上運行。4.解釋性,Python語言寫的程序不需要編譯成二進制代碼,可以直接從源代碼運行程序。5.開源,Python是 FLOSS(自由/開放源碼軟件)之一。

看完上述內容,你們對怎么在python中利用多進程實現文件下載傳輸功能有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

图木舒克市| 拜泉县| 若羌县| 柳林县| 湛江市| 宜兴市| 台中县| 饶平县| 曲靖市| 星子县| 吴川市| 河北省| 曲阜市| 政和县| 封丘县| 柳州市| 临湘市| 彭州市| 贵阳市| 卢湾区| 阳泉市| 大石桥市| 胶南市| 蕉岭县| 金乡县| 琼结县| 介休市| 南汇区| 卓资县| 凉山| 林州市| 惠州市| 介休市| 义马市| 宜君县| 松江区| 鹤壁市| 丹凤县| 子长县| 棋牌| 河间市|