Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在python3中递归复制_Python_Python 3.x_Recursion_Copy - Fatal编程技术网

在python3中递归复制

在python3中递归复制,python,python-3.x,recursion,copy,Python,Python 3.x,Recursion,Copy,我必须更多地了解python,我在python方面做得不多,所以我真的不知道如何开始这项任务 我已经阅读了一些关于stack overflow的问题,看了一些yt视频,还用谷歌搜索了很多,但我不认为有一个问题与我的任务类似 假设我的目录如下所示: 主文件夹名为“Test”,其中有2个目录:1和2 文件夹1还包含文件夹11,其中存储了我必须复制的文件 在浏览完这些目录后,它应该返回开始“测试”,打开文件夹2,没有文件,因此它深入到文件夹22,也没有文件,因此它再次深入到文件夹23,最后一个文件在那

我必须更多地了解python,我在python方面做得不多,所以我真的不知道如何开始这项任务

我已经阅读了一些关于stack overflow的问题,看了一些yt视频,还用谷歌搜索了很多,但我不认为有一个问题与我的任务类似

假设我的目录如下所示:

主文件夹名为“Test”,其中有2个目录:1和2

文件夹1还包含文件夹11,其中存储了我必须复制的文件

在浏览完这些目录后,它应该返回开始“测试”,打开文件夹2,没有文件,因此它深入到文件夹22,也没有文件,因此它再次深入到文件夹23,最后一个文件在那里,它应该复制到我的目标文件夹

不幸的是,我无法正确显示我的目录,堆栈溢出的列表格式对我idk不起作用

我正在Linux/Mac上工作,使用的是python3

代码

#递归复制方法
导入操作系统
输入shutil,errno
root_src_dir='/Users/yolomir/OneDrive/OneDrive-***'
root_dst_dir='/Users/yolomir/OneDrive/OneDrive-***'
对于src_dir、dirs和os.walk(root_src_dir)中的文件:
dst_dir=src_dir.replace(root_src_dir,root_dst_dir,1)
如果操作系统路径不存在(dst_dir):
操作系统生成目录(dst_目录)
对于文件中的文件:
src_file=os.path.join(src_dir,file)
dst_file=os.path.join(dst_dir,file)
如果os.path.exist(dst_文件):
删除操作系统(dst_文件)
复制(src_文件,dst_目录)

我自己解决了这个问题,对于所有需要脚本的人来说,脚本可以递归地检查目录并复制特定类型的所有文件:

从操作系统导入路径
进口舒蒂尔
导入操作系统
path=r“您的/start/directory”
destination=r“您的/目的地/目录”
文件=[]
#r=根,d=目录,f=文件
对于操作系统中的r、d、f.walk(路径):
对于f中的文件:
如果文件中有“.yourfileextension”:
files.append(os.path.join(r,file))
对于文件中的文件:
如果os.path.isfile(文件):
copy2(文件,目标)

您有什么问题?你已经试着去解决它了吗?(我们不会为您编写所有代码。)我只是问如何开始使用它。我已经得到了一些代码,但它不起作用****代表我公司的名称,我必须替换它。是不是你想把文件直接复制到目标文件夹而不保持源目录的结构?我想一步一步地检查,如果文件夹是空的,如果不是空的,将项目复制到我的目标文件夹,并检查是否还有其他文件夹,如果是,请深入并重新执行该功能。但我不知道如何准确地说在python中,我的出发点是什么,等等。我以前只做过scrapy,但在那里我不需要使用很多python。。。