91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

怎么在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

麦盖提县| 台东市| 阜新市| 冀州市| 永平县| 古浪县| 深水埗区| 印江| 丰台区| 葵青区| 隆安县| 峡江县| 台安县| 揭西县| 宜阳县| 金秀| 靖西县| 杨浦区| 翁牛特旗| 宝坻区| 叙永县| 新河县| 盱眙县| 沐川县| 噶尔县| 孝义市| 柳河县| 东明县| 长垣县| 大新县| 南召县| 雅江县| 乃东县| 合江县| 常德市| 宁津县| 嘉定区| 东港市| 和田县| 独山县| 罗源县|