使用Python将图像重命名为文件夹名称

问题描述 投票:-1回答:2

我想将以前从多个子文件夹复制的图像重命名为图像所来自的子文件夹的名称。使用我的实际代码,我只能在输入实际文件名时重命名图像。但这个名字总是不同的。

例如:

C:/sub/folder/1/

将这些图像从这个文件夹重命名为1.jpg

我的实际代码:

paths = (os.path.join(root, filename)
for root, _, filenames in os.walk(dir_dst):
    for filename in filenames:        
        for path in paths:
            newname= path.replace('image_name','new_image_name')
            if newname != path:
                os.rename(path, newname)

我希望你明白我的意思。

python file-rename
2个回答
0
投票

你尝试过这样的事吗?

x = os.path.abspath('file_to_rename')
x = os.path.dirname(x)
x = os.path.basename(x)

这会将当前文件夹的名称设置为x。从那里你可以用i设计一些递增循环并将你的文件重命名为

os.rename('file_to_rename', x + '_' + str(i))

然后只是增加i += 1


0
投票

我找到了解决方案:

import os, shutil

src_g = os.getcwd()
dst_g0 = src_g.split('\\')
dst_g0.pop()
dst_g = '\\'.join(dst_g0)+'\\DestinationFolder\\'

for i in os.listdir(src_g):
    if os.path.isdir(i):
        name = i
        neuer_pfad = src_g+'\\'+name+'\\folder_with_images\\'
        for j in os.listdir(neuer_pfad):
            neue_datei = neuer_pfad+j
            if os.path.isfile(neue_datei):
                shutil.copyfile(neue_datei, dst_g+name+'_'+j)
最新问题
© www.soinside.com 2019 - 2024. All rights reserved.