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. JavaScript:输入语法:prompt与confirm

    prompt prompt有两个参数: 第一个参数会显示在弹窗的输入框的上方: 第二个参数是可选的,会显示在输入框内,是一个初始值: 我们在输入框内输入的任何内容,都会作为返回值,返回给变量resul ...

  2. python画社交网络图

    安装依赖包 pip3 install networkx 在图书馆的检索系统中,关于图书的信息里面有一个是图书相关借阅关系图.跟这个社交网络图是一样的,反映了不同对象间的关联性.利用python画社交网 ...

  3. java计算器༼༎ຶᴗ༎ຶ༽༼༎ຶᴗ༎ຶ༽༼༎ຶᴗ༎ຶ༽༼༎ຶᴗ༎ຶ༽,又是掉发的一天

    题目: 给你一个字符串表达式 s ,请你实现一个基本计算器来计算并返回它的值. 注意:不允许使用任何将字符串作为数学表达式计算的内置函数,比如 eval() . 示例 1: 输入:s = " ...

  4. 青少年CTF-Web-Robots

    题目信息 题目名称:Robots 题目描述:昨天十三年社团讲课,讲了Robots.txt的作用,小刚上课没有认真听课正在着急,你能不能帮帮忙? 题目难度:一颗星 解题过程 访问题目链接 浏览器里是空白 ...

  5. 我的基于 JamStack 的新博客

    概述 今天心血来潮,介绍一下我的新博客站点 -- https://EWhisper.cn. 我是做基础平台 PaaS 运维和架构的,挺喜欢把工作中学到的新知识写下来.记笔记,突然有一天就抱着「资源共享 ...

  6. [Unity]限制两个物体之间的距离

    //限制两个物体之间的距离 if (Vector3.Distance(B.position, A.position) > maxDistance) { //获得两个物体之间的单位向量 Vecto ...

  7. 刷题笔记——1267.A+B Problem

    题目 1267.A+B Problem 代码 while True: try: a,b=map(int,input().strip().split()) print(a+b) except: brea ...

  8. python读取kafka,输出到Vertica数据库

    # 主测试 # https://docs.python.org/2/library/json.html import sys import json import vertica_python imp ...

  9. Java 进阶P-4.4+P-4.5

    子类和父类的关系 在java中规定:一个父类可以有多个子类,但是一个子类只能有一个父类.子类可以通过extends关键字来继承父类.做个比较通俗的比喻,就像一个父亲可以有多个亲孩子,但是一个孩子只能有 ...

  10. 包装类总结-Collection集合概述

    包装类总结 1.基本数据类型对应的包装类byte Byteshort Shortint Integerlong Longfloat Floatdouble Doublechar Characterbo ...