python批量修改图片名
程序员文章站
2022-04-18 20:03:23
...
项目场景:
在用python做一个蜘蛛纸牌时,需要添加多张纸牌的照片,而用tkinter.PhotoImage()仅支持gif等几种不常用的图片格式这就需要批量修该图片名,一个一个修改太麻烦,于是就网上搜了一下用python批量修改文件名的代码,自己稍作加工就可以了,我是把一个目录下的所有图片,直接命名为从1到图片的个数。
问题描述:
#修改图片名
import os
h=input("请输入要修改的后缀名:")
print("注:此程序会将该目录下所有图片从1开始重命名")
dir=input("请输入要修改的文件目录的地址:")
imglist = os.listdir(dir)#返回该目录下所有文件名的列表
num_files = len(imglist)
for x in range(0,num_files):
print("--------------------------")
old_file = os.path.join(dir, imglist[x])#旧文件名的全路径名
print(old_file)
imglist[x]=str(x+1)#遍历文件名修改为:序号+1 注意这里要类型转换
print(imglist[x])
new_file = imglist[x] + h #为新文件名添加后缀名
print(new_file)
#new_file = os.path.join(dir,new_file)#
new_file = dir+'\\'+new_file
os.rename(old_file, new_file)
new_file = os.path.join(dir,new_file)
new_file = dir+'\\'+new_file
这两条语句是等价的,一开始,我是直接这样写的:new_file = dir+new_file,没有加‘\\’(这里要加双斜杠‘\\’,一个不行),结果导致的问题就是:例如我的图片目录是:D:\ege\百度图片-发现多彩世界 ,我直接加上文件名后,执行程序所有的图片移动到了ege目录下,且图片名字前面加上了‘百度图片-发现多彩世界 ’。
上一篇: JS开发桌面端应用程序教程
下一篇: ThinkPHP表单自动提交验证实例教程