国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python多進程實現文件下載傳輸功能

2020-02-15 22:34:58
字體:
來源:轉載
供稿:網友

本文實例為大家分享了python多進程實現文件下載傳輸功能的具體代碼,供大家參考,具體內容如下

需求:

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

模塊:

os模塊
multiprocessing 模塊

代碼:

import multiprocessingimport osdef 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("文件下載完成")      breakif __name__ == "__main__":  main()

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林站長站。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 赣州市| 璧山县| 辽宁省| 休宁县| 团风县| 通河县| 高邮市| 玉林市| 藁城市| 房产| 嘉定区| 九龙坡区| 桃江县| 佳木斯市| 伊川县| 榆社县| 四会市| 龙南县| 周口市| 安乡县| 无极县| 平邑县| 黎城县| 永胜县| 杭锦后旗| 油尖旺区| 华蓥市| 山阴县| 陈巴尔虎旗| 邵东县| 木里| 利辛县| 安岳县| 吉木乃县| 保德县| 雷波县| 兴城市| 岑溪市| 大名县| 黄骅市| 柳河县|