以扩展名重命名具有相同名称的不同扩展名的多个文件

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

我有多个文件夹,其中的文件名为:

   1500001.jpg
   1500001.xml
   1600002.jpg
   1600002.xml
   9876543.jpg
   9876543.xml

您可以看到,我有一个jpg文件,其对应的xml文件具有相同的文件名。我要重命名所有这些文件,如下所示:

   ID_0001.jpg (1500001.jpg converted to ID_0001.jpg)
   ID_0001.xml (1500001.xml converted to ID_0001.xml)
   ID_0002.jpg (1600002.jpg converted to ID_0002.jpg)
   ID_0002.xml (1600002.xml converted to ID_0002.xml
   ID_0003.jpg (9876543.jpg converted to ID_0003.jpg)
   ID_0003.xml (9876543.xml converted to ID_0003.xml)

我是Python的新手,并编写了一些代码来重命名具有不同扩展名的文件,但无法对其进行缩放以按递增顺序(例如ID_0001.jpg,ID_0001.xml等)为其对应文件保留相同的文件名。

import os
_src = "path/to/directory"
_ext_jpg = ".jpg"
_ext_xml = ".xml"

for i,filename in enumerate(os.listdir(_src)):
    if filename.endswith(_ext_jpg):
        os.rename(filename, _src+'ID_' + str(i)+_ext_jpg)

    else:
        os.rename(filename, _src+'ID_' + str(i)+_ext_xml)

使用此代码,所有文件的增量都会发生,例如ID_0001.jpg,ID_002.xml,ID_003.jpg,ID_004.xml,实际上它应该像ID_0001.jpg,ID_0001.xml,ID_0002.jpg,ID_0002。 xml等。>

我有多个文件夹,其中的文件名为:1500001.jpg 1500001.xml 1600002.jpg 1600002.xml 9876543.jpg 9876543.xml如您所见,我有一个jpg文件及其...

python path file-rename file-extension os.path
2个回答
0
投票

[获得文件名时,请同时重命名xmljpg文件:

import os
_src = "path/to/directory"
_ext_jpg = ".jpg"
_ext_xml = ".xml"

for i,filename in enumerate(os.listdir(_src)):
    if filename.endswith(_ext_jpg):
        os.rename(filename, _src+'ID_' + str(i)+_ext_jpg)
        os.rename(filename[:-4]+_ext_xml, _src+'ID_' + str(i)+_ext_xml)

0
投票

使用glob

© www.soinside.com 2019 - 2024. All rights reserved.