1 # encoding: utf-8
2 import os
3 import sys
4
5 import openpyxl
6 import tkinter as tk
7 from tkinter import filedialog
8 import tkinter as tk
9 from tkinter import filedialog
10 import tkinter.messagebox as msgbox
11 import tkinter as tk, time
12
13 count = 1
14 def t(pa,expa,she):
15 print(f'\'{pa}\'')
16 print(f'\'{expa}\'')
17 print(f'\'{she}\'')
18 path = f'{pa}'#文件所在文件夹
19 expath =f'{expa}'#名单所在文件夹
20 x1 = openpyxl.load_workbook(expath)#读取excel
21
22 sheet1 = x1[f'{she}']#读取sheet1
23
24 xwsr = 2#修改
25 filelist = os.listdir(path)#读取文件目录
26 for files in filelist:#遍历文件目录
27 xr = sheet1.cell(row=xwsr, column=3)#可变
28 xc = sheet1.cell(row=xwsr, column=4)#可变
29 #可填加
30 Olddir = os.path.join(path,files)#旧的文件位置
31 #os.renames(Olddir,os.path.join(path,str(xylist[count]+".jpg"))#新的文件位置
32 os.rename(Olddir,os.path.join(path,str(xr.value+xc.value)+".jpeg")) #str里可加
33 xwsr = xwsr+1
34 filelist1 = os.listdir(path)#读取文件目录
35 filelist1.sort()
36 sys.exit()
37 def xuan():
38 '''打开选择文件夹对话框'''
39 root = tk.Tk()
40 root.withdraw()
41 msgbox.showinfo('提示','选择要修改命名的图片的存放文件夹')
42 Folderpath = filedialog.askdirectory() #获得选择好的文件夹
43 msgbox.showinfo('提示','选择要腾讯表格')
44 Filepath = filedialog.askopenfilename() #获得选择好的文件
45 msgbox.showinfo('提示','输入sheet1的内容')
46 window = tk.Tk()
47 window.title("输入")
48 e = tk.Entry(window)
49 e.pack()
50 def get():
51 str =e.get()
52 print(f'\'{Folderpath}\'')
53 print('Folderpath:', Folderpath)
54 print('Folderpath:', Filepath)
55 window.destroy()
56 root.destroy()
57 t(Folderpath,Filepath,str)
58 b = tk.Button(window, text="确认", command=get)
59 b.pack()
60 window.mainloop()
61 xuan()

根据自己需要,可以添加多条信息进行重命名。可在

  xr = sheet1.cell(row=xwsr, column=3)#可变
xc = sheet1.cell(row=xwsr, column=4)#可变
后面添加同样的内容。row,无需改变,column为列。添加后,在
os.rename(Olddir,os.path.join(path,str(xr.value+xc.value)+".jpeg")) 在
str(xr.value+xc.value)中添加你刚才添加的变量的值

例子:
 xr = sheet1.cell(row=xwsr, column=3)#可变
xc = sheet1.cell(row=xwsr, column=4)#可变
xb =sheet1.cell(row=xwsr, column=5)#可变
则:
os.rename(Olddir,os.path.join(path,str(xr.value+xc.value+xb.value)+".jpeg"))
即可实现图片重命名。
*说明:缺点:未能实现点击tk窗体右上角的关闭时,无法真正关闭,一直运行。只有选择全部文件和内容的时候,可以完全退出


Python实现图片重命名——实用的更多相关文章

  1. 提取excel表数据成json格式的以及对图片重命名

    开发那边的需求 1.功夫熊猫以及阿狸布塔故事集都是属于剧集的.意思就是有很多集,这里称他们为tv最下面这几行第一列没名字的都是单集的,这里称它们为mv需要统计所有工作表里面的数据把tv放一个大的jso ...

  2. shell(2)图片重命名

    1:图片重命名 原来的图片名字格式: 改成的图片名字格式: #!/bin/bash #重命名 .png和.jpg #如果原文件的图片名称是从0开始,那么count=:从1开始,那么count= cou ...

  3. 使用python脚本统一重命名训练图片文件名

    Yolo算法,在进行模型训练时,常常使用VOC数据格式. 将图片文件复制到JPEGImages目录下,需要对文件名进行VOC标准格式编号重命名,如2020_000001.jpg,2020_000002 ...

  4. Python脚本轻松实现批量图片重命名

    ************************************************************************** 摘要:网上爬取的图片名字很混乱,格式也比较多,需要 ...

  5. Python批量文件重命名

    今天,得到一个里面都是图片的文件夹,但是图片都没有后缀,因此想用Pythton批量地为所有的文件加上".jpg"的后缀,代码如下: #-*- coding:utf-8 -*- #重 ...

  6. python对图片批量命名

    深度学习中经常会有批量对图片进行重命名,从网上看到的资料整理一下,方便以后查看. import os class BatchRename(): ''' 批量重命名文件夹中的图片文件 ''' def _ ...

  7. python3_learn 实现文件夹内批量对图片重命名

    初衷 练习Python,提高动手能力. 珍藏的壁纸文件夹名命有点乱. 可以学习下一些基础的库 开始(.jpg,无筛选) First 首先找到OS库,寻找可以遍历文件名的.找到了OS.walk() os ...

  8. python 小工具 重命名当前文件夹内所有的文件,升序命名

    背景:一个朋友想升序重命名他的照片,但是太多了不想手动所以,emememem os这个模块,不用说,rename,filedir等 #conding=utf8 import os path = os. ...

  9. C++中图片重命名

    非常简单的小程序,满足自己的需求. #include <iostream> #include <fstream> #include<sstream> using n ...

  10. django如何给上传的图片重命名(给上传文件重命名)

    1.先在你项目中添加一个文件夹如:system 在文件夹下添加__init__.py 和storage.py文件,并在storage.py中添加如下代码: # -*- coding: UTF-8 -* ...

随机推荐

  1. c++随笔测试(Corner of cpp)

    在c++17下,程序的输出是什么?(有可能编译出错,有可能输出未知,有可能是未定义行为) 点击查看代码 #include<iostream> void foo(unsigned int) ...

  2. flutter系列之:flutter中listview的高级用法

    目录 简介 ListView的常规用法 创建不同类型的items 总结 简介 一般情况下,我们使用Listview的方式是构建要展示的item,然后将这些item传入ListView的构造函数即可,通 ...

  3. Go读取yaml文件到struct类

    1.yaml文件准备 common: secretid: AKIDxxxxx secretKey: 3xgGxxxx egion: ap-guangzhou zone: ap-guangzhou-7 ...

  4. XAMPP-Apache-解决跨域

    很 意外啊,我这篇文章竟然说因为有广告,所以审核不通过.牛逼,我接着发,我看哪来的广告.审核有广告是NT技术写的逻辑,还是没脑子的审核员审核的. 因为在做项目的时候,会有很多项目要进行热更测试,可有些 ...

  5. 使用 NineData 实现备份集的实时查询

    使用 NineData 实现备份集的实时查询 背景信息 数据作为一家公司的重要资产,其重要程度不言而喻.数据库为数据提供存取服务,担任着重要的角色,如果因数据误删.服务器故障.病毒入侵等原因导致数据丢 ...

  6. 在Spring Boot中整合Katharsis,来快速开发JSON API的Web应用

    1 简介 我们进行Web API开发的时候,经常会使用Json格式的消息体,而Json格式非常灵活,不同的人会有不同的设计风格和实现,而JSON API提供了一套标准.但它并不提供直接实现. Kath ...

  7. 网络连接(CSP-J 2021 T3)

    一道又臭又长的模拟题目..... 主要有几个小技巧可以帮大家省一省代码: 1.scanf("%d.%d",&b,&c); 这里是定了一个格式如果不按格式来就不输入后 ...

  8. vue3 h函数 h() 生成 element-plus vnode

    vue3的h函数和vue2的h函数入参不同 下面是vue2的vnode示范 然后是vue3的错误示范 下面是正确示范 let open1=() => { return new Promise(( ...

  9. 【LeetCode字符串#05】基于个人理解的KMP算法图解,以及应用到strStr()函数实现

    KMP算法(用于实现 strStr()) strStr()函数是用来在一个字符串中搜索是否存在另一个字符串的函数,其匹配字符串方式为KMP算法 KMP算法基础理论 假设有如下两个字符串 文本串 aab ...

  10. VeryCapture V1.8.9.5 中文版安装使用教程

    VeryCapture简介 VeryCapture中文版是一款实用的屏幕捕捉工具.VeryCapture最新版持将图钉在桌面.这个功能可以方便图片对比,在写论文或者写文章时比较方便.VeryCaptu ...