zoukankan      html  css  js  c++  java
  • multiprocessing 多线程拷贝文件

    #!/usr/bin/env python
    # -*- coding: utf-8 -*-

    import os
    from multiprocessing import Pool

    class CopyFile():
    """ 实现多线程拷贝文件
    1、获取要拷贝文件夹路径、名称,获取要拷贝文件的名称
    2、复制原文件内容到新文件中
    """
    # 1、获取要拷贝文件夹路径
    # 2、获取要拷贝文件夹名称
    # 3、获取要拷贝文件夹内文件名称列表
    # 4、创建新文件夹
    # 5、打开要拷贝的原文件
    # 6、读取要拷贝的原文件内容
    # 7、打开新文件
    # 8、写入新文件内容
    # 9、关闭原文件
    # 10、关闭新文件

    def copyFile(self,path,oldFolderName):
    print(oldFolderName)
    newFolderName = oldFolderName+"[复制]"
    print(newFolderName)
    if not os.path.exists(newFolderName):
    os.makedirs(newFolderName)
    print("文件夹创建成果")
    oldFileNameList = os.listdir(oldFolderName)
    print(oldFileNameList)
    pool = Pool(5)
    for file in oldFileNameList:
    self.copyFileExcut(path,oldFolderName,newFolderName,file)
    pool.close()#关闭进程池,不再接受新的进程
    pool.join()#主进程阻塞等待子进程的退出

    ## 读写文件
    def copyFileExcut(self,path,oldFolderName,newFolderName,fileName):
    try:
    oldF = open(path+u"\"+oldFolderName+u"\"+fileName, 'r',encoding='UTF-8')
    copyContent = oldF.read()
    print(copyContent)
    finally:
    if oldF:
    oldF.close()
    try:
    newF = open(path+"\"+newFolderName+"\"+fileName, 'w')
    newF.write(copyContent)
    finally:
    if newF:
    newF.close()





    if __name__ == '__main__':
    path = os.getcwd()
    print(path)
    cpf = CopyFile()
    cpf.copyFile(path,"test")


  • 相关阅读:
    java selenium (九) 常见web UI 元素操作 及API使用
    java selenium (六) XPath 定位
    java selenium (八) Selenium IDE 用法
    java selenium (五) 元素定位大全
    一个使用CSocket类的网络通信实例
    揭开链接器的面纱(中)
    揭开连接器的面纱(上)
    深入理解程序的结构
    调试利器GDB(下)
    调试利器GDB(上)
  • 原文地址:https://www.cnblogs.com/simplezhuo/p/9814769.html
Copyright © 2011-2022 走看看