gpt4 book ai didi

Python:重命名多个图像文件

转载 作者:行者123 更新时间:2023-11-28 20:51:25 25 4
gpt4 key购买 nike

我需要一个程序,我可以知道从什么数字开始,然后从那里重命名。

问题是它必须保持扩展名相同,因为既有 JPG 也有 PNG,甚至可能有 GIF

因此,如果我想重命名从“a200”开始的大约 10k 张图片,我可以。

我最接近的是这个:

import os

files = os.listdir('.')
index = 0
for filename in files:
os.rename(filename, str(index).zfill(5)+ '.jpg')
index += 1

最佳答案

在进行文件重命名时有一个试运行选项是个好主意,这样您就可以在进行任何不容易逆转的更改之前看到会发生什么...

并且您应该检查新名称是否已经存在。

import os

# Create a list of files from the current directory who's last 4 characters
# as lowercase are either '.jpg' or '.png'
files = [ f for f in os.listdir('.') if f[-4:].lower() in ('.jpg','.png') ]

DRYRUN=True

for (index,filename) in enumerate(files):
extension = os.path.splitext(filename)[1]
newname = "picture-%05d%s" % (index,extension)
if os.path.exists(newname):
print "Cannot rename %s to %s, already exists" % (filename,newname)
continue
if DRYRUN:
print "Would rename %s to %s" % (filename,newname)
else:
print "Renaming %s to %s" % (filename,newname)
os.rename(filename,newname)

小更新

如果你想保留文件的当前词法顺序,你只需要对初始文件列表进行排序:

files = sorted(f for f in os.listdir('.') if f[-4:].lower() in ('.jpg','.png'))

如果你想要更复杂的东西,比如从文件名中提取现有的索引号并重新格式化它,最好打开另一个问题。

关于Python:重命名多个图像文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9835243/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com