python - 如何将祖级文件夹名称附加到文件名?

标签 python

我有一个目录,其中存在多个文件夹,并且在每个文件夹中,另一个文件夹中存在一个文件。结构如下

C:\users\TPCL\New\20190919_xz.txt
C:\users\TPCH\New\20190919_abc.txt

目标:

我想重命名文件名,如下所示:

C:\users\TPCL\New\20190919_xz_TPCL.txt
C:\users\TPCH\New\20190919_abc_TPCH.txt

我的方法:

for root,dirs,filename in os.walk('C\users\TPCL\New'):
     prefix = os.path.basename(root)
     for f in filename:
         os.rename(os.path.join(root,f),os.path.join(root,"{}_{}".format(f,prefix)))

上述方法产生以下结果:

C:\users\TPCL\New\20190919_xz_New.txt
C:\users\TPCH\New\20190919_abc_New.txt

所以问题是:如何附加祖父文件夹名称,而不是父文件夹名称?

最佳答案

您需要使用目录名和基本名来执行此操作。

使用os.path.dirname获取目录名(不包括最后一部分)和
然后使用 os.path.basename 获取路径名的最后部分。

替换 前缀 = os.path.basename(root)

os.path.basename(os.path.dirname(root))

请引用这个:
https://docs.python.org/3.7/library/os.path.html#os.path.basename https://docs.python.org/3.7/library/os.path.html#os.path.dirname

关于python - 如何将祖级文件夹名称附加到文件名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58051039/

相关文章:

python - 如何标准化混淆矩阵?

python - 在python(OpenCV)中查找对象的大小?

python - 在 Python 中使用 UTF-8

python - Pandas 中位数的奇怪行为

python - 不断在我的服务器上运行脚本

python - 在Python中将声波编码为图像和文本?

python 非阻塞 recv 与进程之间的管道?

javascript - 我们什么时候需要 JavaScript 客户端模板引擎?

python - 在 Django 中打印对象

python - 按字典嵌套值排序