python 自动化办公之批量修改文件名实操
作者:wx62c625022e0c1??????? 发布时间:2021-09-21 06:54:45
标签:python,自动化,批量,修改,文件名
1. 程序背景
之前做文件批量移动的时候不小心多加了一个pdf后缀,但问题不大,几行代码就可以搞定~
2. 程序要求
将以下目录中文件夹中的有问题的文件全部重命名为单个.pdf结尾的文件
3. 解决思路
需要用到 os、re 和 shutil 三个库,均为系统自带,无需安装
使用 os 库得到年份的文件夹名,以及年份文件夹中的文件名
使用正则表达式 re 将“.pdf.pdf”全部替换为“.pdf”
拼接出文件路径后使用 shutil 库 的rename函数进行重命名操作
4. 完整代码
#导入需要的库
import os
import re
import shutil
path = r'E:\课题\wrongfile1729\wrongfile' #传入文件地址
year_file_li = os.listdir(path) # 得到年份文件夹列表
for year in year_file_li: # 便利所有年份
year_path = path + '\\' + year # 拼接出年份文件夹的地址
file_li = os.listdir(year_path) # 得到年份文件夹中的文件名称列表
for file in file_li: # 遍历每一个年份文件夹中的文件
wash_name = re.sub('.pdf.pdf', '.pdf', file, re.DOTALL) # 文件名修改
old_path = year_path + '\\' + file # 拼接出旧文件地址
new_path = year_path + '\\' + wash_name # 拼接出新文件地址
shutil.move(old_path, new_path) # 进行文件重命名操作
5. 运行结果
修改完成~
6. 总结
代码的核心有三点,分别是:
os 库得到文件名列表
re 库得到新文件名
shutil 库对文件进行重命名
来源:https://blog.51cto.com/coderusher/5487085
0
投稿
猜你喜欢
- 项目有时要用一些Ajax的效果,因为比较简单,也就没有去用什么Ajax.net之类的东西,手写代码也就实现了。、第二天,有人反馈错误;说是只
- 作为一个网页设计师,不知道各位是否有这样的经历:客户给你的网站材料很多都是Word文档,虽然阅读起来很
- 这是一家游戏公司,他面试通过后 擅长的机试却没答出来,不过还是被录用了。这道题内容大概这样有条蛇它长度不固定,蛇头朝北顺时针盘旋着,请打印出
- asp代码 如下:读取注册表信息使用了对象WScript.Shell<%Dim strPath strP
- 如何做一个自己的QQ?这不是什么新鲜的东西,看看代码:refresh.htm<HTML><HEAD><titl
- 整个重装步骤大致分四个步骤进行,第一步,备份原mysql中的所有数据库。第二步,完全卸载mysql第三步,下载安装新版mysql第四步,导入
- 今天在工作中遇到了一个问题,需要按时间查询,可是查询出来的结果显示的不正确。举个例子来说,要查找出2007-10-12至2007-10-31
- 前言 大家好,好男人就是我,我就是好男人,我就是-0nise。在各大漏洞举报平台,我们时常会
- 最近在改一个页面,原来的编码是gb2312,为了国际化,改成utf-8,开始时浏览还是正常。因为电脑偶感小恙,于是恢复了系统,这才发现改后的
- 写在前面周日下午在家学习,看到一个关于切片的问题,在网上找了一些资料,做个总结。上代码func main() {sl := make([]i
- 在ASP.NET中使用js时,js获取DOM元素时,经常获取不到,这是因为获取的方法有误,现在介绍一方法,解决如何使用js获取ASP.NET
- asp之家注:有时候我们想让程序运行变慢下来,asp中该怎么做呢?原理很简单就是在运行程序前运行一段无关紧要的程序就可以了,要实现加长程序的
- 由于笔者最近在做一个跨数据库操作的测试,开始做IBatisNet (IBatis.DataMapper.1.6.2/IBatis.DataA
- 在 Class 块中,成员通过相应的声明语句被声明为 Private(私有成员,只能在类内部调用)
- 代码如下:<% FunctIon DownloadFIle(StrFIle) StrFIlename=StrFIle Response
- 当用户关闭cookie时,通过asp程序提示访客打开,源代码如下: Dim strCookie, strT
- 字符串与数字类型的转换什么是类型转换?—> 将自身的数据类型变成新的数据类型,并拥有新的数据类型的所有功能的过程即
- 使用MySQL,目前你可以在三种基本数据库表格式间选择。当你创建一张表时,你可以告诉MySQL它应该对于表使用哪个表类型。MySQL将总是创
- 主要作用与拷贝文件用的。1.shutil.copyfileobj(文件1,文件2):将文件1的数据覆盖copy给文件2。import shu
- asp vbs Cache缓存类属性valid,是否可用,取值前判断属性name,cache名,新建对象后赋值方法add(值,到期时间),设