我正在尝试为我的工作完成一个脚本,以清理他们的文件组织系统。我的脚本的最后一部分需要进入给定目录中的所有文件夹,并将每个文件夹中的所有文件移动到该目录。例如:
import os
path = 'C:/User/Tom/Documents'
folders = os.listdir(path)
print(folders)
Run Code Online (Sandbox Code Playgroud)
可以说文件夹结构是这样的:
Documents
[________ Folder A
..................[_________ File 1
..................[_________ File 2
[________ Folder B
..................[_________ File 3
..................[_________ File 4
[________ Folder C
..................[_________ File 5
..................[_________ File 6
..................[_________ File 7
Run Code Online (Sandbox Code Playgroud)
我的目标是以某种方式进入“文档”下的每个文件夹,通过将所有文件向上移动一层来清空文件夹,而不必在如下所示的“文档”路径中输入文件夹名称或文件名:
Documents
[________ Folder A
[_________ File 1
[_________ File 2
[________ Folder B
[_________ File 3
[_________ File 4
[________ Folder C
[_________ File 5
[_________ File 6
[_________ File 7
Run Code Online (Sandbox Code Playgroud)
我是python的新手,关于如何高效地执行此操作的唯一想法是在每个文件夹目录中键入很多代码,然后对它们进行shutdownil.move()。但是,这对于我的应用程序将不起作用,因为脚本需要能够针对X数量的文件夹和Y数量的文件来完成此任务,而不必输入每个文件夹路径。
我想以有效的方式寻求任何建议,使我可以循环浏览“文件夹”列表,并将文件从文件夹中移出到路径目录中。
抱歉,很长的帖子,我只是想尽可能详细地回答我的问题,谢谢!
我正在尝试创建特定目录中所有文件名的列表。我的代码如下:
import os
#dir = input('Enter the directory: ')
dir = 'C:/Users/brian/Documents/Moeller'
r = os.listdir(dir)
for fnam in os.listdir(dir):
print(fnam.split())
sep = fnam.split()
Run Code Online (Sandbox Code Playgroud)
我的输出是:
['50', 'OP', '856101P02.txt']
['856101P02', 'OP', '040.txt']
['856101P02', 'OP', '50.txt']
['OP', '040', '856101P02.txt']
Run Code Online (Sandbox Code Playgroud)
我怎样才能删除“.”右侧的任何内容?在字符串中,同时将文本保留在句点左侧?