如何在 Python 中删除文件名的特定部分?

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

我的文件夹包含多个 .jpg 格式的图像(比方说 10 个)。文件名称如下:

IM001
IM002
IM003
etc.

有没有办法使用Python删除文件名的某些部分(例如

IM00
)并保留其余部分?我只知道
os.rename
,但我不确定这是否正确。

谢谢!

python directory filenames
1个回答
0
投票

您可以使用

fnmatch.filter
迭代所有文件,这些文件的名称如您所愿(在本例中为
IM001.jpg
作为示例)

之后,您可以轻松删除“IM00”前缀并重命名每个文件。

import fnmatch

# folder from your images - in my case, its inside the bot folder so i just can use "images"
image_folder = "images"

# Iterate through all files in the folder that match the pattern "IM00*.jpg"
for filename in fnmatch.filter(os.listdir(image_folder), "*IM00*.jpg"):

    # Remove the "IM00" prefix, just keep the last number
    new_filename = filename[4:]
            
    # rename the file
    os.rename(os.path.join(image_folder, filename), os.path.join(image_folder, new_filename))

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