Python教程

python-多线程拷贝

本文主要是介绍python-多线程拷贝,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

多次拷贝

import os
import threading


def copy_file(source_path, dest_path):


    with open(source_path,'rb') as soure_file:
        with open(dest_path,'wb') as dest_file:
            while True:
                data = soure_file.read(1024)
                if data:
                    dest_file.write(data)
                else:
                    break

if __name__ == '__main__':
    source_dir = 't1'
    dest_dir = 't2'

    try:
        os.mkdir(dest_dir)
    except:
        pass

    file_list = os.listdir(source_dir)

    for file_name in file_list:
        # copy_file(file_name,source_dir, dest_dir)
        for i in range(5):
            source_path = source_dir + '/' + file_name
            dest_path = dest_dir + '/' + str(i) + file_name
            sub_thread = threading.Thread(target=copy_file,args=(source_path, dest_path))
            sub_thread.start()

单次拷贝

import os
import threading


def copy_file(file_name,source_dir, dest_dir):
    source_path = source_dir + '/' + file_name
    dest_path = dest_dir + '/' + file_name
    with open(source_path,'rb') as soure_file:
        with open(dest_path,'wb') as dest_file:
            while True:
                data = soure_file.read(1024)
                if data:
                    dest_file.write(data)
                else:
                    break

if __name__ == '__main__':
    source_dir = 't1'
    dest_dir = 't2'

    try:
        os.mkdir(dest_dir)
    except:
        pass

    file_list = os.listdir(source_dir)

    for file_name in file_list:
        # copy_file(file_name,source_dir, dest_dir)
        sub_thread = threading.Thread(target=copy_file,args=(file_name,source_dir, dest_dir))
        sub_thread.start()

 

这篇关于python-多线程拷贝的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!