用函数写简易版的文件copy器;

import multiprocessing,os



def math(file_name, new_file_name, i,q):
    
    # 打开文件夹里的文件开始读取
    file = open(file_name+'/'+ i, 'rb')
    
    # 将读取的文件内容写入新建的文件夹
    new_file = open(new_file_name+ '/'+ i, 'wb')
    data = file.read()
    new_file.write(data)
    # 关闭
    file.close()
    new_file.close()
    q.put(i)
    
if __name__ == '__main__':  
    file_name = input('文件夹名字:')
    # 创建文件夹附件
    new_file_name = file_name+'附件'
    os.mkdir(new_file_name)
    
    # 查询原始文件夹中的文件
    file_list = os.listdir(file_name)
    q = multiprocessing.Queue()
    
    # 利用多进程开始copy
    for i  in file_list:
        p = multiprocessing.Process(target = math,args = (file_name,new_file_name,i,q))
        p.start()
    count = 0
    
    # 查看进度设置
    while True:
        name = q.get()
        count += 1
        print('\r 当前的进度是%-0.2f %%'%(100*(count*1.0/len(file_list))),end='')
        if count == len(file_list):
            print('拷贝完成')
            break
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值