我正在努力并苦苦挣扎,希望你们能帮我一下:
大家好, 我有一个文件夹,里面有很多子文件夹,最后一个子文件夹中有文件。我想编写Python代码,将目录中所有文件夹的名称添加到文件名的括号末尾。
例如,我的基本目录是C:\Users\cemil.kocyigit\Downloads\Code,它具有以下结构:
用这段代码,我可以获取到前一个文件夹的文件夹名称,但无法获取该目录中所有文件夹的文件夹名称?
例如,我得到:
(请不要评论我的写作,我是一名机械学生,正在入门编程 :))
谢谢!
大家好, 我有一个文件夹,里面有很多子文件夹,最后一个子文件夹中有文件。我想编写Python代码,将目录中所有文件夹的名称添加到文件名的括号末尾。
例如,我的基本目录是C:\Users\cemil.kocyigit\Downloads\Code,它具有以下结构:
Folder_1
> SubFolder_1
> FileName1.abc
> Filename2.abc
> SubFolder_2
> SubSubFolder_1
> SubFileName1.abc
Folder_2
> SubFolder11
> FileName11.abc
> Filename12.abc
> ..............
Folder_3
> Subfolder..........
我想将文件重命名为以下格式:FileName1(Subfolder_1)(Folder_1).abc
或 SubFileName1(SubSubFolder_1)(Subfolder_2)(Folder_1).abc
到目前为止,我所做的是:
import os
for root, dirs, files in os.walk("C:\\Users\\cemil.kocyigit\\Downloads\\Code"):
if not files:
continue
prefix = os.path.basename(root)
for f in files:
base = os.path.basename(f)
text = os.path.splitext(base)[0]
extension = os.path.splitext(base)[1]
os.rename(os.path.join(root, f), os.path.join(root, "{}({}){}".format(text, prefix, extension)))
用这段代码,我可以获取到前一个文件夹的文件夹名称,但无法获取该目录中所有文件夹的文件夹名称?
例如,我得到:
FileName1(Subfolder_1).abc
有没有办法改变代码,使其递归地搜索基本目录中的所有文件夹,并将它们添加到文件名中?(请不要评论我的写作,我是一名机械学生,正在入门编程 :))
谢谢!
tmp/folder_1/file_a.txt
-->tmp/folder_1/file_a(folder_1).txt
? - Umar.H