首页 > 系统服务 > 详细

多进程拷贝文件(不拷贝文件夹)

时间:2020-05-29 00:36:52      阅读:66      评论:0      收藏:0      [点我收藏+]
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()

  

多进程拷贝文件(不拷贝文件夹)

原文:https://www.cnblogs.com/shuimohei/p/12984879.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!