1. 程式人生 > >python多進程拷貝數據

python多進程拷貝數據

all spa 輸入 拷貝文件 for NPU 顯示 pri apply

from multiprocessing import Pool,Manager
import os
#完成拷貝文件
def copyFile(filename,oldname,newname,que):
    "拷貝文件函數"
    # 三部操作  讀取內容,寫入內容  關閉
    que.put(filename)
    br = open(oldname+/+filename,rb)
    bw = open(newname+/+filename,wb)
    content = br.read()
    bw.write(content)
#關閉源文件和目標文件 br.close() bw.close() def fun(): #1、提示輸入要拷貝的文件名字 oldname = input("請輸入你要拷貝的文件夾名字或者路徑:") #2.創建文件夾,存放拷貝內容 newname = oldname + 拷貝內容 os.mkdir(newname) #3.獲取oldname中的目錄和文件名字 filenames = os.listdir(oldname) print(filenames) # #4.過濾文件 #
filename = solute(filenames) #利用多進程的方式拷貝數據 po = Pool(5) #進程數量 que = Manager().Queue() for fileName in filenames: po.apply_async(copyFile,args=(fileName,oldname,newname,que)) con = 0 allcon = len(filenames) while True:#用主進程來顯示拷貝進度 dd = que.get() con
+=1 print(拷貝進度:%.2f%%%((con/allcon)*100),end=‘‘) if con==allcon: print("恭喜你拷貝完成") break if __name__==__main__: fun()

python多進程拷貝數據