Python-深拷贝(递归)

   Python基础学习-深拷贝(递归)

在基础学习过程中,了解了进程池的创建以及使用,递归函数,文件读取等操作。那么我们可以灵活的将三个知识点简单的完成深拷贝的操作。

1、首先我们需要导入模块os、time、multiprocessing、shutill

Python-深拷贝(递归)

2、在主进程中,我们需要先获取拷贝的文件夹名字以及路径,这里以拷贝当前路径下的download文件夹下的aaa文件夹到当前文件夹下的copy为例

Python-深拷贝(递归)

4、获取路径和目标文件后我们需要一个执行工作的方法来完成的需求

Python-深拷贝(递归)



在这个函数中我们需要传递参数 源路径、目标路径、以及文件名字以方便我们递归调用。

在每一次调用时我们需要修改文件文件路径,创建文件夹,获取文件夹目录列表,然后遍历目录判断是否为文件夹进行递归调用方法;当是文件的时候,我们就需要读写了。

Python-深拷贝(递归)

文件读取时,我们可以利用死循环让文件文件每次只读取一部分内容。

5、在文件拷贝过程中,单进程拷贝文件可能由于文件过大导致我们拷贝过慢。我们可以在主进程创建进程池,在拷贝的时候让进程池异步应用拷贝任务。

Python-深拷贝(递归)

当然不要忘了等待进程池,这样我们的拷贝就完成了。

程序运行结果

Python-深拷贝(递归)

以上就是我对Python深拷贝的一点小感悟,希望大家看完有所收获。