zoukankan      html  css  js  c++  java
  • 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("请确认源目录是否存在或者是否拼写错误")
  • 相关阅读:
    Java生产者与消费者(下)
    Java生产者与消费者(上)
    Java中的继承和接口
    syslog(),closelog()与openlog()--日志操作函数
    Nagle算法
    TCP_NODELAY详解
    Linux "零拷贝" sendfile函数中文说明及实际操作分析
    pdflush的工作原理
    proc/sys/net/ipv4/下各项的意义
    求最低价格
  • 原文地址:https://www.cnblogs.com/sunmingduo/p/10218843.html
Copyright © 2011-2022 走看看