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. STL set容器常用API

    set容器,容器内部将数据自动排序(平衡二叉树),不能插入重复元素.multiset可以插入重复元素.不能修改容器中的值,通过删除值,在插入. #define _CRT_SECURE_NO_WARNI ...

  2. vulnhub靶场之HACKABLE: III

    准备: 攻击机:虚拟机kali.本机win10. 靶机:Hackable: III,下载地址:https://download.vulnhub.com/hackable/hackable3.ova,下 ...

  3. 详解JAVA线程问题诊断工具Thread Dump

    摘要:Thread Dump是非常有用的诊断Java应用问题的工具. 本文分享自华为云社区<调试排错 - Java 线程分析之线程Dump分析>,作者:龙哥手记. Thread Dump是 ...

  4. Base58算法加密解密(Python实现)

    def b58encode(tmp:str) -> str: tmp = list(map(ord,tmp)) temp = tmp[0] base58 = "123456789ABC ...

  5. SimpleMemory使用

    官方文档: 简介 - Document (bndong.github.io) Github资源链接: BNDong/Cnblogs-Theme-SimpleMemory: Cnblogs theme ...

  6. 将 Timer 对象化

    Timer这玩意儿很常用,却又很烦人.烦人之处有四: 1.         如果将其设到HWND上,则 a)         必须手工维护Timer的ID,小心翼翼地保证这些ID不重复,可能有人(比如 ...

  7. Docker快速部署Nacos

    前置 机器配置不能太低 ( 2c2g的轻量服务器直接崩掉了) Docker https://www.docker.com/ 开始安装 mysql 使用docker安装mysql (推荐8.0) 可以不 ...

  8. 音频编辑服务UI SDK接入指导及常见问题

    华为 HMS Core 音频编辑服务(Audio Editor Kit)是华为帮助全球开发者快速构建各类应用音频能力的服务,汇聚了华为在音乐.语音等相关音频领域的先进技术.音频编辑服务为开发者们提供音 ...

  9. 1.31 wlx 魔怔 9 解法交互题小结

    参考题解地址 1. 从树上任意一个节点开始,跳到其随机一个后代,跳到叶子的期望次数为 \(H_{siz_u}=\ln(siz_u)\). 证明: 首先考虑一条链的情况.设在第 \(i\) 个点期望次数 ...

  10. Java 进阶P-8.5+P-8.6

    抛出异常 异常的抛出与声明 如果你的函数可能抛出异常,就必须在函数头部加以声明 你可以声明并不会真的抛出得异常 什么能扔? 任何继承了Throw able类的对象 Exception类继承了Throw ...