Python:按子文件夹名重命名子文件夹中的文件

2024-09-29 04:27:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个有很多子文件夹的文件夹。子文件夹有不同类型的文件。我试图用它们所在的子文件夹名称重命名这些文件(不会重复,因为每个文件都有自己的扩展名)。 数据如下:

folder
        \ sub1
        \ sub1\file1.ext1
        \ sub1\file2.ext2
        .
        .
        .
        \ sub2
        \ sub2\file1.ext1
        \ sub2\file2.ext2

期望输出

^{pr2}$

我的一段代码不起作用。在

import os

dir_name = os.getcwd() 

for root, dirs, files in os.walk(dir_name, topdown=False):
    for file in files:
        file_name = os.path.splitext(file)[0]#file name no ext
        os.rename(os.path.splitext(file)[0], root ) 

有什么想法吗?谢谢您。在


Tags: 文件name文件夹forosdirrootfiles
1条回答
网友
1楼 · 发布于 2024-09-29 04:27:20

您可以使用os.path.basename获取根目录名。在

import os

dir_name = os.getcwd() 

for root, dirs, files in os.walk(dir_name, topdown=False):
    for file in files:
        file_name = os.path.splitext(file)[0]#file name no ext
        extension = os.path.splitext(file)[1]
        dir_name = os.path.basename(root)
        os.rename(root+"/"+file,root+"/"+dir_name+extension)

相关问题 更多 >