"""
需求:文件夹多个大文件内容高并发copy器
需求分析:
1. 目标文件夹是否存在,如果不存在就创建,如果存在则不创建
2. 遍历文件夹中的所有文件,并拷贝到目标文件夹
3. 采用进程实现多任务,完成高并发拷贝
"""
import os
import multiprocessing
def copy_file(file_name, source_dir, dest_dir):
pass
source_path = source_dir + "/" + file_name
dest_path = dest_dir + "/" + file_name
with open(source_path, "rb") as source_file:
with open(dest_path, "wb") as dest_file:
while True:
data = source_file.read(1024)
if data:
dest_file.write(data)
else:
break
print (file_name + "文件拷贝完成")
if __name__ == '__main__':
source_dir = "python学习视频"
dest_dir = "./目标文件夹"
try:
os.mkdir(dest_dir)
except:
print ("目标文件夹已经存在")
file_list = os.listdir(source_dir)
for file_name in file_list:
sub_process = multiprocessing.Process(target=copy_file,
args=(file_name, source_dir, dest_dir))
sub_process.start()
print ("主线程结束")