python实现批量修改文件名代码
作者:_昭昭_ 发布时间:2023-05-04 14:44:41
标签:python,批量修改文件名
我曾以为,写脚本是很难的,直到我遇到了Python
前言随着国内版权意识的跟进,很多影视音乐资源开始收费,而且度盘又经常随意封杀各种资源,所以,为了保护资源,老司机们越来越倾向于把资源下载到本地,但随着本地资源量的增多,资源管理就成了一件比较头疼的事情;对于资源的管理,方法有很多,我比较喜欢为资源起一个好记的名字,但改文件名是一件无聊又耗时的事情,所以,一个批量重命名的脚本就变得非常重要.
1.批量添加前缀功能
批量重命名
批量重命名逻辑,分三步:
(1)确定需要命名的文件们
(2)确定新的文件名
(3)改名
逻辑理清,编码就变得很简单了
上图源码:
# 导入python内置的os模块和sys模块
import os
import sys
# 程序入口
if __name__ == "__main__":
# 获取需要添加的前缀
pre = input("请输入需要添加的前缀:")
# 为了美观,为前缀添加一个中括号
mark = "[%s]"%pre
# 获取本目录下所有的文件名
old_names = os.listdir()
# 遍历目录下的文件名
for old_name in old_names:
# 跳过本脚本文件
if old_name != sys.argv[0]:
# 用新的文件名替换旧的文件名
os.rename(old_name, mark+old_name)
2.(扩展)添加移除前缀功能:
上面的10行程序,只能批量增加前缀,不能批量移除,不太完善,这是增加了移除前缀功能的源码
上图源码:
import os
import re
import sys
def add_mark():
pre = input("请输入需要添加的前缀:")
mark = "[%s]"%pre
old_names= os.listdir()
for old_name in old_names:
if old_name != sys.argv[0]:
os.rename(old_name, mark+old_name)
def remove_mark():
old_names= os.listdir()
for old_name in old_names:
try:
result = re.match(r"(^\[.*\])(.*)", old_name).group(2)
rm = old_name
if result:
os.rename(old_name, result)
print("已为%s移除前缀"%rm)
except Exception as e:
pass
def main():
while True:
option = int(input("请选择功能数值:\n1.添加前缀\n2.删除前缀\n3.退出程序\n"))
if option == 1:
add_mark()
elif option == 2:
remove_mark()
else:
exit()
if __name__ == "__main__":
main(
后记:
python是一门简洁强大的语言,随着人工智能的兴起,python也会变得越来越受人们的重视,你有什么理由不爱上python呢?
来源:http://www.jianshu.com/p/2403e013bee4
0
投稿
猜你喜欢
- 如下所示:depot_name = models.CharField( u'设备库房名称', bla
- 在Firefox推出3.5后,他增加了许多新的支持,今天抽空将他们整理一下。属性image-renderingtext-renderingi
- 数据库(DataBase,DB)是一个长期存储在计算机内的、有组织的、有共享的、统一管理的数据集合。通俗地说,数据库就是一个按照数据结构来组
- 三目运算符也就是三元运算符一些语言(如Java)的三元表达式形如:判定条件?为真时的结果:为假时的结果result=x if xPython
- 对于一个给定的字符串,逆序输出,这个任务对于python来说是一种很简单的操作,毕竟强大的列表和字符串处理的一些列函数足以应付这些问题 了,
- 最早大家都没有给链接加title的习惯,后来因为w3c标准普及,又集体加上了title。从一个极端走到另个极端,于是出现很多怪异现象。两方面
- django中form表单设置action后,点提交按钮是跳转到action页面的,比如设置action为login,网址为192.168.
- pytorch做标准化利用transforms.Normalize(mean_vals, std_vals),其中常用数据集的均值方差有:i
- 本文实例为大家分享了python定义带参数装饰器的具体代码,供大家参考,具体内容如下案例: &
- 如下:counter.htm<a href=counter.asp?save=123&url=http://127.0.0
- 一次性读取csv文件内所有行的数据<?php $file = fopen('windows_2011_s.csv',&
- 本文实例为大家分享了python实现五子棋游戏的具体代码,供大家参考,具体内容如下checkerboard.pyfrom collectio
- 方法1:自定义异常# -*- coding:utf-8 -*-"""功能:python跳出循环"&q
- 日志Yii提供了一个高度自定义化和高扩展性的日志框架。根据使用场景的不同,你可以很容易的对各种消息就行记录、过滤、合并,比如说文本文件,数据
- django1.3新加入了一个静态资源管理的app,django.contrib.staticfiles。在以往的django版本中,静态资
- 另外,我们在 控制结构比较两个数值是否一直的时候,也应该尽量使用 === 来代替 ==(当然,这个也根据具体的业务逻辑选用比较合适的)。 小
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML&nb
- 插件机制是代码/功能反向依赖注入到主体程序的一种方法,编译型语言通过动态加载动态库实现插件。对于Python这样的脚本语言,实现插件机制更简
- Laravel 中间件提供了一种方便的机制来过滤进入应用的 HTTP 请求。例如,Laravel 内置了一个中间件来验证用户的身份认证。如果
- 简单介绍Mac下使用HomeBrew安装Python 3.*版本并设置为默认值1、首先查看Mac自带的python,可以看到是2.7.10的