【发布时间】:2020-09-29 07:13:35
【问题描述】:
我必须更多地了解python,我在python方面做得不多,所以我真的不知道如何开始这项任务。
我已经在这里阅读了一些关于堆栈溢出的问题,观看了一些 yt-videos 并用谷歌搜索了很多,但我不认为有一个与我的任务类似的问题。
假设我的目录如下所示:
主文件夹名为“Test”,其中有 2 个目录:1 和 2。
文件夹 1 还包含文件夹 11,其中存储了我必须复制的文件。
浏览完这些目录后,应该回到开始“测试”,打开文件夹2,没有文件,所以深入到文件夹22,也没有文件,所以再次深入到文件夹23 ,最后一个文件在哪里,它应该将它复制到我的目标文件夹。
不幸的是,我无法正确显示我的目录,堆栈溢出的列表格式不适用于我 idk。
我在 Linux/Mac 上工作,使用的是 python3。
代码
#recursive copy method
import os
import shutil, errno
root_src_dir = '/Users/yolomir/OneDrive/OneDrive - ****'
root_dst_dir = '/Users/yolomir/OneDrive/OneDrive - ****'
for src_dir, dirs, files in os.walk(root_src_dir):
dst_dir = src_dir.replace(root_src_dir, root_dst_dir, 1)
if not os.path.exist(dst_dir):
os.makedirs(dst_dir)
for file_ in files:
src_file = os.path.join(src_dir, file_)
dst_file = os.path.join(dst_dir, file_)
if os.path.exist(dst_file):
os.remove(dst_file)
shutil.copy(src_file, dst_dir)
【问题讨论】:
-
您有什么问题?您已经尝试解决什么问题了? (我们不会为您编写所有代码。)
-
我只是在问如何开始使用它。我已经有了一些代码,但它不起作用 **** 代表我公司的名称,我不得不替换它。
-
您是否希望将文件直接复制到目标文件夹而不维护源目录的结构?
-
我想一步一步检查,文件夹是否为空,如果不为空,请将项目复制到我的目标文件夹并检查是否还有另一个文件夹,如果是,请深入并重做该功能。但是我不知道在python中到底怎么说,我的起点在哪里等等。我之前只做过scrapy,但是我不必使用很多python...
标签: python python-3.x recursion copy