Python实现乱序文件重新命名编号
作者:朱小五 发布时间:2021-05-20 09:07:04
标签:Python,文件,重命名
人生苦短,快学Python!
最近有位读者朋友遇到了一个小问题,私聊找小五答疑。感觉也会有其他同学会遇到,所以干脆分享出来。
如下图所示,在本地文件夹中有这样一堆视频文件,在这种情况下并不是乱序的。
但是将其上传到网盘中后,就会经常变成乱序。即它们会按照1、10、11、2、20这样排序,并不方便我们按顺序去依次观看。
所以我们希望能够给它们在本地重新命名编号,比如可以按照001、002、003···、020这样排序,就可以避免上面这种尴尬的情况了。
在Python中,os模块可以用来自动处理各种文件和目录,比如复制、移动、重命名和删除等操作。
获取文件列表
在交互式环境中输入如下命令:
import os
path = os.getcwd()
filenames = os.listdir(path)
filenames
输出:
os模块中的getcwd()函数,使用它可以获取当前工作目录。os模块中的listdir()函数,可以返回工作目录中的所有文件和子目录。通过这两个函数,我们就获取了当前工作目录下的所有文件。
筛选视频文件
在交互式环境中输入如下命令:
file_mp4s = [i for i in filenames if i.split(".")[-1] == "mp4"]
file_mp4s
输出:
这一步骤,是用来筛选文件列表中的所有mp4文件。用循环+条件太繁琐,而列表生成式则可以用一行语句得到视频文件。
批量重命名
在交互式环境中输入如下命令:
for i in file_mp4s:
new_name = i.split("-")[0].zfill(3) + "-" + i.split("-")[1]
os.rename(i,new_name)
输出:
os模块中的rename()函数,使用它可以重命名文件。
这里还用到一个字符串函数zfill(),它会返回指定长度的字符串,原字符串右对齐,前面填充0。所以"1".zfill(3)的话,会返回'001'。
这样,我们就实现了乱序文件的重新命名编号
来源:https://mp.weixin.qq.com/s/jIVsw8_0J4x0N-5K3QMuQw
0
投稿
猜你喜欢
- sysdate+(5/24/60/60) 在系统时间基础上延迟5秒 sysdate+5/24/60 在系统时间基础上延迟5分钟 sysdat
- 本文实例总结了php遍历目录方法。分享给大家供大家参考。具体如下:1. 方法1 <?p
- android开发中在和服务器端接口对接时出现编码问题,从服务器端获取到的数据是 "\u8bbe\u59071ID-\u
- 效果图实例代码如下:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transit
- 如题:在python的函数调用中需要记录时间,下面是记录毫秒时间的方法。import datetimeimport timet1 = dat
- 本文实例讲述了使用symfony命令创建项目的方法。分享给大家供大家参考,具体如下:概况这一章节描述一个Symfony项目的合理结构框架,并
- Python SMTP发送邮件SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址
- 在ASP中,如何获得ADO的连接信息? 具体方法见下列代码:<%Sub Connecti
- 由于文件夹可能有多层目录,因此需要对其进行递归遍历。本文采取了简单的协议定制,定义了五条命令,指令Head如下:Sync:标识开始同步文件夹
- 本文中介绍的系统优化,主要针对前端和后台这两方面(后台方面主要对SQL语句和数据存储进行了优化),下文中我们将介绍一些优化技巧和经验。技巧:
- SQL Server Sa用户相信大家都有一定的理解,下面就为您介绍SQL Server 2000身份验证模式的修改方法及SQL Serve
- 1.漏洞介绍在XHTML 1.0标准下,使用特殊构造的CSS样式,在Internet Explorer 7.0
- 在我发表上一篇《Zen Coding: 一种快速编写HTML/CSS代码的方法》之后,有网友表示不知道怎么在Dreamweaver上使用ze
- XML和XSLT的转换使Web设计受益无穷。借助XML和 XSLT转换,你可以实现将动态用语(dynamic verbiage)和网站内容存
- 一、简介time模块提供各种操作时间的函数说明:一般有两种表示时间的方式:第一种是时间戳的方式(相对于1970.1.1 00:00:00以秒
- 静态方法不需要所在类被实例化就可以直接使用。静态方法效率上要比实例化高,静态方法的缺点是不自动进行销毁,而实例化的则可以做销毁。静态方法和静
- 一、相关代码数据库配置类 MongoDBConn.py#encoding=utf-8'''Mongo Conn连接类
- 前两天研究了一下textarea的直观行的换行规律,挺复杂啊:直观行怎样取不光要看cols大小,还要看网页编码方式。cols="3
- 阅读上一篇:FrontPage XP设计教程5——表单的设计 在制作出图文并茂的网页之后,很多读者朋友还想让自己的网页能够播放音乐、视频等多
- 如何定义记录集打开的游标类型和锁定类型?我们知道,打开记录集时,可以定义记录集打开的游标类型和锁定类型。在adovbs.inc文件中就定义了