zoukankan      html  css  js  c++  java
  • 多进程拷贝文件(不拷贝文件夹)

    from multiprocessing import Pool, Manager
    import os
    
    
    def copyFileTask(name, oldFolderName, newFolderName, queue):
    	"完成copy一个文件的功能"
    	fr = open(oldFolderName + "/" + name)
    	fw = open(newFolderName + "/" + name, 'w')
    	content = fr.read()
    	fw.write(content)
    	fr.close()
    	fw.close()
    	queue.put(name)
    
    
    def main():
    	# 0. 获取要copy的文件夹的名字
    	oldFolderName = input("请输入文件夹的名字:")
    	# 1.创建一个文件夹
    	newFolderName = oldFolderName + '-复件'
    	os.mkdir(newFolderName)
    	# 2.获取old文件夹中所有文件的名字
    	fileNames = os.listdir(oldFolderName)
    	print(fileNames)
    	# 3.使用多进程的方式copy原文件夹中的所有文件到新文件夹中
    	pool = Pool(5)
    	# 进程池之间使用的Q
    	queue = Manager().Queue()
    	for name in fileNames:
    		pool.apply_async(copyFileTask, args=(name, oldFolderName, newFolderName, queue))
    
    	pool.close()
    	pool.join()
    	print("拷贝完成")
    
    if __name__ == '__main__':
    	main()
    

      

  • 相关阅读:
    python多进程(一)
    python操作memcached
    python操作redis
    SQLAlchemy总结
    SQLAlchemy-ORM
    python操作mysql二
    python操作mysql
    python正则二
    python正则
    python内置模块(三)
  • 原文地址:https://www.cnblogs.com/shuimohei/p/12984879.html
Copyright © 2011-2022 走看看