Python批量修改文件名

2023-05-16

工作中经常会遇到需要批量修改文件名的情况,比如:
有这样一个文件夹,里面是249个国家的国家,按照ISO 3166-1标准中的国家二位简称进行命名:
flags

现在面临这样的需求,需要将二位英文简称命名的文件换成国家代码命名的文件。
这里写图片描述

比如,第一个国家Andorra,简称AD,根据表格对应的国家码,需要将AD.png修改为20.png。
资源下载链接:http://download.csdn.net/download/moxigandashu/9943276

接下来,我们利用Python实现以上要求:

#引入需要用到的包os和pandas
import os 
import pandas as pd

flagpath='G:/touchpal/code/nation_flag/xhdpi' #文件夹所在的路径
countrypath='G:/touchpal/code/nation_flag/country_ code.csv' #国家简称与国家代码对应表格路径

filelist=os.listdir(flagpath) #获取所有文件名
country_code=pd.read_csv(countrypath) #读取表格

for files in filelist:
    olddir=os.path.join(flagpath,files) #修改前文件路径及文件名
    filename=os.path.splitext(files)[0] #得到文件名
    filetype=os.path.splitext(files)[1] #得到文件类型
    newfilename=filename #先用旧的文件名覆盖新文件名,防止没有新文件名
    m=shape(country_code)[0] #获取国家简称与国家代码对应表格(DataFrame)行数
    for i in range(m):
        if country_code['Alpha_code'][i]==filename: #匹配与转化
            newfilename=country_code['Numeric code'][i] #匹配成功复制新文件名
    newname=str(newfilename)+filetype #连接文件名与文件类型
    newdir=os.path.join(flagpath,newname) #新的文件路径及文件名
    os.rename(olddir,newdir) #重命名,覆盖原先的文件名

这个时候再看刚刚各国国家国旗所在的文件夹:
newfile

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python批量修改文件名 的相关文章

随机推荐

  • 使用STM32寄存器点亮LED流水灯

    目录 一 什么是寄存器GPIO 二 使用寄存器点亮LED灯1 建立工程模板1 1 建立相关文件1 2 建立工程1 3 配置环境 2 配置GPIO端口2 1 配置时钟使能2 2 初始化结构体2 3 配置输入输出模式 3 主要函数3 1 led
  • frp内网穿透—将kali代理在公网中进行渗透测试

    文章目录 前言Frp简介准备工具实现内网穿透frp服务端配置frp客户端配置 测试HTTP服务测试ssh服务测试反弹shell测试 注意 前言 由于工作常需要用到kali xff0c 但是公网服务器并没有安装kali镜像 xff0c 本地只
  • 最小二乘法解的矩阵形式推导

    最小二乘法解的矩阵形式推导 首先 xff0c 什么是最小二乘 xff1f 维基百科给出了一个定义 xff0c 戳这里 在我看来 xff0c 最小二乘法是一种数据拟合方法 我们从矩阵的角度来理解 xff1a 首先我们给出一个矩阵中的定义 xf
  • pytesseract识别数字

    针对工程需求精度不够 xff0c 目前只能识别率为86 左右 用tesseract的深度学习可能会好一点 xff0c 没搞懂怎么用 xff1f 单张图片 import cv2 import numpy as np import matplo
  • Arduino利用NTPClient库获取网络时间,显示时间与实时时间不同步

    网络时间协议 xff08 Network Time Protocol xff0c NTP xff09 是用来使计算机时间同步化的一种协议 xff0c 它可以 使计算机对其服务器或时钟源 xff08 如石英钟 xff0c GPS等等 做同步化
  • 【C++】链表反转逆序|建立、删除、修改、插入|linux内核链表与普通链表

    目录 C 43 43 实现链表逆序 链表的建立 删除 修改 插入 linux内核链表与普通链表 C 43 43 实现链表逆序 实现链表逆序 xff0c 首先要有一个链表 xff0c 下面是链表的结构体 xff1a typedef struc
  • https 自签名SSL证书

    介绍 TLS或称传输层安全性 xff0c 及其前身SSL xff08 代表安全套接字层 xff09 是用于将正常流量包装在受保护的加密包装中的Web协议 使用这种技术 xff0c 服务器可以在服务器和客户端之间安全地发送流量 xff0c 而
  • Gitlab安装及配置

    主要内容 xff1a 使用docker运行 gitlab xff1b 配置LDAP及邮箱 xff1b 配置管理员账号 xff1b 配置邮箱通知 xff1b 关闭用户注册 xff1b 安装 我们使用docker来安装Gitlab xff0c
  • windows 文件夹正在使用 “操作无法完成,因为其中的文件夹或文件已在另一程序中打开“ 解决办法

    解决办法 xff1a 右键状态栏 gt 任务管理器 gt 性能 gt 打开资源监视器 gt CPU gt 在 关联的句柄 处搜索被占用的文件夹名称 现象 解决办法 第1步 第2步 第3步 例如搜索 test 第4步 右键找到占用的程序 第5
  • Windows服务器更新服务的配置-client

    0x01 WSUS客户端 wsus客户端可以使windows的各种系统 windows7 8 10 server 无须安装任何软件 0x02 客户端配置 wsus客户端通过配置本地组策略来实现 运行中输入 xff1a gpedit msc
  • Anime4K:目前最热的开源实时动漫放大算法,Github上一周收获2600星!

    点击我爱计算机视觉标星 xff0c 更快获取CVML新技术 今天跟大家介绍一款动漫画面放大算法Anime4K xff0c 目前最热的开源 实时 视频动漫放大算法 https github com bloc97 Anime4K 一周内该库在G
  • 统计学:离散型和连续型随机变量的概率分布

    主要随机变量一览表 随机变量概率分布均值方差一般离散型变量 p x 的 表 公 式 或 者 图 x x p x x x 2 p x 二项分布 p x 61 C x n p x
  • Stata基本功能及其函数实现

    Stata简介 xff1a Stata使用简单 xff0c 功能强大 xff0c 是数据分析中常用的统计计量软件 本人使用的是Stata14 xff0c 如若需要 xff0c 可评论留言 xff01 1 Stata基本描述 1 1主窗口 如
  • MySQL安装过程问题:服务器名无效,发生系统错误 5 拒绝访问

    1 服务器名无效 安装好MySQL之后 xff0c 使用CMD系统命令程序 xff0c 输入命令启动MySQL xff0c 提示 服务器名无效 原因1 xff1a 服务器名字错误 解决方法 检查命令行中服务器名是否正确 xff0c MySQ
  • R语言基础画图/绘图/作图

    R语言基础画图 R语言免费且开源 xff0c 其强大和自由的画图功能 xff0c 深受广大学生和可视化工作人员喜爱 xff0c 这篇文章对如何使用R语言作基本的图形 xff0c 如直方图 xff0c 点图 xff0c 饼状图以及箱线图进行简
  • 【网站】IIS配置/搭建PHP环境的网站教程

    原文 xff1a https www fujieace com php iis html 今天一位群友想新搞一个万能门店小程序网站 xff0c 由于他的服务器上面已经存在了很多的老站 xff0c 用的IIS6 0服务 xff0c 现在这个网
  • MySQL数据库事务处理

    事务处理用于有效记录某机构感兴趣的业务活动 xff08 称为事务 xff09 的数据处理 xff08 例如销售 供货的定购或货币传输 xff09 通常 xff0c 联机事务处理 OLTP 系统执行大量的相对较小的事务 百度百科 事务处理是将
  • 神农尝百草---Windows环境下为Python3.X安装basemap

    basemap是matplolib的一个插件 xff0c 提供了许多将地理位置 xff08 如经度和纬度 xff09 转化为二维matplotlib图的方式 xff0c 是地图数据可视化的重要工具 本人Python是3 6版本 xff0c
  • 机器学习之朴素贝叶斯(NB)分类算法与Python实现

    朴素贝叶斯 xff08 Naive Bayesian xff09 是最为广泛使用的分类方法 xff0c 它以概率论为基础 xff0c 是基于贝叶斯定理和特征条件独立假设的分类方法 一 概述 1 简介2 条件概率与贝叶斯定理3 朴素贝叶斯分类
  • Python批量修改文件名

    工作中经常会遇到需要批量修改文件名的情况 xff0c 比如 xff1a 有这样一个文件夹 xff0c 里面是249个国家的国家 xff0c 按照ISO 3166 1标准中的国家二位简称进行命名 xff1a 现在面临这样的需求 xff0c 需