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. SQLSERVER 的复合索引和包含索引到底有啥区别?

    一:背景 1. 讲故事 在 SQLSERVER 中有非常多的索引,比如:聚集索引,非聚集索引,唯一索引,复合索引,Include索引,交叉索引,连接索引,奇葩索引等等,当索引多了之后很容易傻傻的分不清 ...

  2. MySQL join语句怎么优化?

    在MySQL的实现中,Nested-Loop Join有3种实现的算法: 1. Simple Nested-Loop Join:简单嵌套循环连接 2. Block Nested-Loop Join:缓 ...

  3. 我们来汉化IntelliJ IDEA

    (原发于 GitHub Pages,2018-10-13 13:51:09) 两年前我从一名光荣的C++程序员专业为PHP程序员以后,告别了世界第一IDE Visual Studio,改用当时觉得特别 ...

  4. emqtt-bench

    安装 安装环境:Centos7 安装包:emqtt-bench-0.4.6-alpha.2-centos7-amd64.tar.gz 建议使用已编译好的发行包进行安装,源码编译已踩坑. # 创建存放目 ...

  5. Java8常见函数式接口总结

    函数式接口 函数式接口:有且仅有一个抽象方法的接口. 使用@FunctionalInterface注解来标记.如果接口不是函数式接口就会编译出错 满足条件的接口即使不加上注解,那也是函数式接口 函数式 ...

  6. OSI七层协议补充与socket套节字

    OSI七层协议补充与socket套节字 一.传输层之TCP与UDP协议 TCP与UDP协议都是用来规定通信方式的,数据传输过程中能够遵循的协议有很多其中TCP协议和UDP协议是较为常见的两个. 1.T ...

  7. Java入门与进阶P-4.3+P-4.4

    循环控制 素数 只能被1和自己整除的数,不包括1 2 3 5 7 11 13 17 19 ... 1.循环控制语句 可以在满足循环条件的请款下,反复的执行某一段代码,这段被重复执行的代码被称为循环体语 ...

  8. Docker不做虚拟化内核,对.NET有什么影响?

    引子 前两天刷抖音,看见了这样一个问题. 问题:容器化不做虚拟内核,会有什么弊端?Java很多方法会跟CPU的核数有关,这个时候调用系统函数,读到的是宿主机信息,而不是我们限制资源的大小. 思考:在我 ...

  9. Git-01 简要介绍

    1 git简介 Git 是一个免费的.开源的分布式版本控制系统,可以快速高效地处理从小型到大型的各种项目. Git 易于学习,占地面积小,性能极快. 它具有廉价的本地库,方便的暂存区域和多个工作流分支 ...

  10. P11_组件-button和image组件的基本用法

    其它常用组件 button 按钮组件 功能比 HTML 中的 button 按钮丰富 通过 open-type 属性可以调用微信提供的各种功能(客服.转发.获取用户授权.获取用户信息等) image ...