import os import multiprocessing def copy_file(file_name, old_folder_name, new_folder_name): """复制文件的任务""" print("模拟拷贝文件:从%s到%s 的文件名字是:%s" % (old_folder_name, new_folder_name, file_name)) # 拼路径 读取出旧文件 old_f = open(old_folder_name+"/"+file_name, "rb") content = old_f.read() old_f.close() # 写入到新文件 new_f = open(new_folder_name+"/"+file_name, "wb") new_f.write(content) new_f.close() def main(): # 1.获取用户要copy的文件夹名字 old_folder_name = input("请输入需要拷贝的文件夹名字:") # 2.创建一个新的文件夹 try: new_folder_name = old_folder_name + "新文件夹" os.mkdir(new_folder_name) except: pass # 3.获取文件夹的所有待copy的文件名字 os.listdir(pat) file_names = os.listdir(old_folder_name) print(file_names) # 4.创建进程池 pool po = multiprocessing.Pool(5) # 5.向进程池中添加 复制文件的任务 for file_name in file_names: po.apply_async(copy_file, args=(file_name, old_folder_name, new_folder_name)) # 关闭 po.close() po.join() if __name__ == '__main__': main()
python multiprocessing多进程拷贝文件
最新推荐文章于 2022-04-07 17:36:59 发布