import multiprocessing,os def math(file_name, new_file_name, i,q): # 打开文件夹里的文件开始读取 file = open(file_name+'/'+ i, 'rb') # 将读取的文件内容写入新建的文件夹 new_file = open(new_file_name+ '/'+ i, 'wb') data = file.read() new_file.write(data) # 关闭 file.close() new_file.close() q.put(i) if __name__ == '__main__': file_name = input('文件夹名字:') # 创建文件夹附件 new_file_name = file_name+'附件' os.mkdir(new_file_name) # 查询原始文件夹中的文件 file_list = os.listdir(file_name) q = multiprocessing.Queue() # 利用多进程开始copy for i in file_list: p = multiprocessing.Process(target = math,args = (file_name,new_file_name,i,q)) p.start() count = 0 # 查看进度设置 while True: name = q.get() count += 1 print('\r 当前的进度是%-0.2f %%'%(100*(count*1.0/len(file_list))),end='') if count == len(file_list): print('拷贝完成') break