python多线程实现文件夹拷贝

import threading
import os
import shutil


# 创建拷贝任务
def copy_work(source_dir, dest_dir, file_name):
# 拼接文件名路径
source_file_path = source_dir + '/' + file_name
dest_file_path = dest_dir + '/' + file_name
# 打开目标文件
with open(dest_file_path, 'wb') as dest_file:
# 打开源文件
with open(source_file_path, 'rb') as source_file:
# 写入数据
while True:
source_file_data = source_file.read(1024)
if source_file_data:
dest_file.write(source_file_data)
else:
break


if __name__ == '__main__':
# 指定源目录和目标目录
source_dir = input("输入源目录:")
dest_dir = input("输入目标目录")
if os.path.exists(source_dir):
if os.path.exists(dest_dir):
# shutil.rmtree(dest_dir)
print("目标文件夹已存在,如果目录内存在同名文件,将覆盖")
else:
# 创建目标文件夹
os.mkdir(dest_dir)
# 获取源目录文件列表
source_file_list = os.listdir(source_dir)
print(source_file_list)
for file_name in source_file_list:
copy_thread = threading.Thread(target=copy_work, args=(source_dir, dest_dir, file_name))
copy_thread.start()
else:
print("请确认源目录是否存在或者是否拼写错误")

猜你喜欢

转载自www.cnblogs.com/sunmingduo/p/10218843.html
今日推荐