【发布时间】:2017-08-16 01:15:24
【问题描述】:
我正在尝试为我的工作完成一个脚本,以清理他们的文件组织系统。我的脚本的最后一部分需要进入给定目录中的所有文件夹,并将每个文件夹中的所有文件移动到该目录中。例如:
import os
path = 'C:/User/Tom/Documents'
folders = os.listdir(path)
print(folders)
假设文件夹结构是这样的:
Documents
[________ Folder A
..................[_________ File 1
..................[_________ File 2
[________ Folder B
..................[_________ File 3
..................[_________ File 4
[________ Folder C
..................[_________ File 5
..................[_________ File 6
..................[_________ File 7
我的目标是以某种方式进入“文档”下的每个文件夹,通过将所有文件向上移动一级来清空文件夹,而无需输入文件夹名称或文件名以位于文档路径中,如下所示:
Documents
[________ Folder A
[_________ File 1
[_________ File 2
[________ Folder B
[_________ File 3
[_________ File 4
[________ Folder C
[_________ File 5
[_________ File 6
[_________ File 7
我是 python 的新手,我唯一想到的如何有效地做到这一点就是输入大量进入每个文件夹目录的代码,然后 shutil.move() 它们。但是,这对我的应用程序不起作用,因为脚本需要能够为 X 数量的文件夹和 Y 数量的文件完成此任务,而不必输入每个文件夹路径。
我正在就一种有效的方法寻求任何建议,我可以循环浏览我的“文件夹”列表并将文件从文件夹中移出到路径的目录中。
抱歉发了这么长的帖子,我只是想尽可能详细地了解我的问题,谢谢!
【问题讨论】:
-
您要清空文件夹并将文件上移一级吗?
-
@cᴏʟᴅsᴘᴇᴇᴅ 是的,可以循环遍历给定目录中的所有文件夹并将其中的文件上移一级!!
-
我在这里找到了类似的答案 stackoverflow.com/questions/8858008/…>。这可能会有所帮助。
-
@Emma 感谢您的链接!我知道如何将文件移动到某些地方,但我遇到的问题是创建一个有效的循环,该循环具有字符串类型的给定路径,以便能够通过移动每个文件来清空该路径中的每个文件夹这些文件夹上一层。