前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python提升篇(十)---批量读取文件重命名

python提升篇(十)---批量读取文件重命名

作者头像
用户5410712
发布2022-06-01 18:43:04
8270
发布2022-06-01 18:43:04
举报
文章被收录于专栏:居士说AI

物体由于发生弹性形变,各部分之间存在着弹性力的相互作用而具有的势能叫做“弹性势能”。在工程中又称“弹性变形能”。例如,被压缩的气体、拉弯了的弓、卷紧了的发条、拉长或压缩了的弹簧都具有弹性势能。

弹性势能是存储在材料或物理系统的构造中的潜在机械能,因为执行工作以扭曲其体积或形状。当需要压缩和拉伸或大体上以任何方式变形时,弹性能量就会发生。弹性理论主要发展为固体和材料力学的形式 [1] (注意,拉伸橡皮筋所做的工作不是弹性势能的一个例子,它是熵弹性的一个例子)弹性势能方程用于机械平衡位置的计算。在数学上,方程可以表示为 [2] :

势能的单位与功的单位是一致的。确定弹力势能的大小需选取零势能的状态,一般选取弹簧未发生任何形变,而处于自由状态的情况下其弹力势能为零。弹力对物体做功等于弹力势能增量的负值。即弹力所做的功只与弹簧在起始状态和终了状态的伸长量有关,而与弹簧形变过程无关。弹性势能是以弹力的存在为前提,所以弹性势能是发生弹性形变,各部分之间有弹性力作用的物体所具有的。如果两物体相互作用都发生形变,那么每一物体都有弹性势能,总弹性势能为二者之和。

前言

在上周的文章中我们学习了正则化匹配技术的re.match函数,了解了基本的使用方法,当然还有一个类似的匹配函数--re.search方法,甚至还有许多具体的匹配方式(.*?等等)就交个大家自行学习我们就不再单独叙述了。今天,我们将会学习如何将文件夹中的文件进行批量(整体)的重命名。

一、背景

万事有果必有因,首先来看一下我的文件夹里面的文件排布(写文需要):

可以看到, 在src_img这文件夹中有96个文件(都是图片),并且每个文件的名字都是随机的,很乱,如果我们想将其规范化的话,就需要对每个文件进行手动重命名,然而这样的工作室几个的话还好,如果是几十个,比如我们的96个一一进行手动重命名的话就十分的浪费时间,因此这就是我们今天代码的登场的原因了,接着往下看!

1.1 操作概述

1.为了不产生文件夹冲突,我们需要新建另一个文件夹用来存储重命名后的文件,新建文件夹名字为dst_img.

2.重命名文件名规则:log+index,例如,logo1,logo2(不固定,实际的时候看自己)

3.代码所用函数:

1.os.listdir(): 该函数作用为列出当前文件夹下所有文件清单(文件名的集合)

2.os.rename:文件重命名函数

4.代码所用语法;

1.for循环读取文件(循环读取文件后进行文件重命名)

2.文件名路径组合(读取到文件后需要生成每一个文件的路径)

1.2代码实践

代码语言:javascript
复制
#coding:utf-8
# 导入os包,因为os.listdir,os.rename都属于os包的函数
import os

# 指定原始文件夹(相对路径)
img_dir = './src_img/'
# 指定重命名后存储文件夹(相对路径)
dst = './dst_img/'
# 获取当前路径下的所有文件名
img_names = os.listdir(img_dir)
index = 1
# 打印文件夹下的数量
print(len(img_names))
# 循环读取文件,批操作文件名重命名
for each_img in img_names:
  # 获取文件路径,后面重命名需要对每一个文件的路径进行操作
  src_path = img_dir + each_img
  # 新文件名()自定义 此处为 logo_index.jpg
  dst_path = dst +'logo_{}.jpg'.format(index)
  os.rename(src_path, dst_path)
  print("第{}个文件,{}已重命名".format(index,each_img))
  index = index + 1

代码较为简单,我们来分析下代码的运行流程:

  1. 首先指定原始文件名和新生成文件名
  2. 获取原始文件夹下的所有文件名(os.listdir()函数操作)
  3. 循环上一步的文件名列表: 生成当前文件的文件路径

生成当前文件的存储文件夹+存储名字

执行文件重命名操作

提示当前文件已重命名

循环结束。

1.3 效果展示

如上图所示,文件名已重命名。

END

结语

今天的分享结束了,从代码流程到代码实践,我们都做了清楚的解释,不管是逻辑还是顺序我们都进行了分析,很实用的提升技能哦,希望大家都学会哦。

编辑:玥怡居士|审核:小圈圈居士

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-07-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 IT进阶之旅 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档