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()
    

      

  • 相关阅读:
    Beta冲刺(4/4)
    2019 SDN上机第7次作业
    Beta冲刺(3/4)
    Beta冲刺(2/4)
    机器学习第二次作业
    机器学习第一次作业
    软工实践个人总结
    第04组 Beta版本演示
    第04组 Beta冲刺(5/5)
    第04组 Beta冲刺(4/5)
  • 原文地址:https://www.cnblogs.com/shuimohei/p/12984879.html
Copyright © 2011-2022 走看看