import multiprocessing
import os
import time
import random
def copy_file(file_name, source_folder_name, dest_folder_name):
"""copy文件到指定的路径"""
f_read = open(source_folder_name + "/" + file_name, "rb")
f_write = open(dest_folder_name + "/" + file_name, "wb")
while True:
time.sleep(random.random())
content = f_read.read(1024)
if content:
f_write.write(content)
else:
break
f_read.close()
f_write.close()
def main():
# 获取要复制的文件夹
source_folder_name = input("请输入要复制文件夹名字:")
# 整理目标文件夹
try:
dest_folder_name = source_folder_name + "副本"
os.mkdir(dest_folder_name)
except:
pass
# 获取文件夹的所有带有copy的文件的名字 listdir()
file_names = os.listdir(source_folder_name)
print(file_names)
# 创建进程池
po = multiprocessing.Pool(5)
# 向进程池中添加copy文件的任务
for i in file_names:
po.apply_async(copy_file,args=(file_name,source_folder_name,dest_folder_name))
po.close()
po.join()
if __name__ == '__main__':
main()