python - 将目录中的文件夹名称添加到文件名

标签 python

我正在努力和挣扎,我希望你们能帮助我:

大家好 我有一个包含许多子文件夹的文件夹,最后一个子文件夹中有文件。我想编写一个 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).abcSubFileName1(SubSubFolder_1)(Subfolder_2)(Folder_1).abc/p>

到目前为止我所做的是:

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

是否有机会更改代码,使其递归搜索基目录中的所有文件夹名称,然后搜索文件名?

(请不要评判我的写作,我是刚接触编码的机械学生 :))

谢谢您的问候!

最佳答案

您可以预先将所有目录名收集到一个字符串中。然后在您的最终文件名中使用该字符串。

import os

collected_dirnames = ""
for root, dirs, files in os.walk("C:\\Users\\cemil.kocyigit\\Downloads\\Code=3,56"):
    collected_dirnames = "-".join(dirs)

print(collected_dirnamee) # check if it is 2hat you want

# your code
for root, dirs, files in os.walk("C:\\Users\\cemil.kocyigit\\Downloads\\Code=3,56"):
    if not files:
        continue
    for f in files:
        base = os.path.basename(f)
        text, extension = os.path.splitext(base)
        os.rename(os.path.join(root, f),
                  os.path.join(root, "{}({}){}".format(text, collected_dirnames, extension)))

这是你想要的吗?它至少应该指向正确的方向

关于python - 将目录中的文件夹名称添加到文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66816992/

相关文章:

python - 在 Windows 上的 VSCode 中调试 Python C/C++ 扩展

python - 为什么 python 扩展共享库?是否可以制作静态链接库?

python - 如何将特定的 war 文件提取到特定的文件夹

python - 在 python 中抓取绝对 URL 而不是相对路径

python - 无边界地 block 分布

python - 创建字典数据图?

python - 从 RAM 转储中获取 python 脚本

python - Django URL 到 View 的映射

python - SCIPY 线性规划方案中缩放矩阵变量的最佳方法

python - Python 中的算法计时