将B站下载的文件统一修改文件名

事情来由

事情是这样的,我在B站上发现一个教程,看了一下,非常不错,于是想下载下来(免得B站和谐)。

问题就是这样来了,我手机没多少内存,下载后下发现文件在手机中都是以数字命名的,所以我就将文件拖到手机进行批量修改名

其数字命名是以其里面的P数的安排命的,1,2,3就是第1P,第2P,第3P的意思


基本思路

一、 获取文件夹内的所有文件夹名

二.、对获取的文件名进行排序

path = input("输入文件夹的绝对路径:")
directory_name = os.listdir(path)
bili_name = [int(i) for i in directory_name]
bili_name.sort()

三、将预先准备替换的文件名进行读入

四、 处理不合法的文件名(空格,特殊符号等)

使用re模块的split方法进行划分,原生的split只支持单一字符,re.split()可支持多个字符,以|分开即可

# head 是己预先弄好的文件名,格式在最后会放出来
with open('head', 'r') as file:
content = file.read()
content_name = content.split('\n')
destination_name = ["".join(re.split('\s|\(\)|\?', i)) for i in content_name]

五、开始处理

for index, value in enumerate(bili_name):
source_path = os.path.join(path, str(value))
destination_path = os.path.join(path, str(destination_name[index]))
os.system('mv ' + source_path + " " + destination_path)

完整代码,效果图

path = input("输入文件夹的绝对路径:")
directory_name = os.listdir(path)
bili_name = [int(i) for i in directory_name]
bili_name.sort() with open('head', 'r') as file:
content = file.read()
content_name = content.split('\n')
destination_name = ["".join(re.split('\s|\(\)|\?', i)) for i in content_name] for index, value in enumerate(bili_name):
source_path = os.path.join(path, str(value))
destination_path = os.path.join(path, str(destination_name[index]))
os.system('mv ' + source_path + " " + destination_path)

批量重命名B站下载文件的更多相关文章

  1. C#实现文件批量重命名源码下载

    本文要实现的功能是 文件批量重命名,当选择一个文件夹时,通过操作可以把文件夹下面所有文件进行重命名.建立了HoverTreeBatch项目. 然后 定义文件夹信息: DirectoryInfo _Th ...

  2. Python批量重命名指定目录下文件的两种方法

    #法一 import os path = "C://Python34//" for file in os.listdir(path): if os.path.isfile(os.p ...

  3. 大学MOOC课程视频下载、流文件合并、批量重命名、b站视频下载及学习课程视频推荐

    计算机行业技术更新快,编程语言种类多,在当今大数据和人工智能的时代,为了能在相关领域有所成就,就必须掌握好python.R等语言,较好的数学基础和深入的行业背景知识.计算机从业人员务必践行" ...

  4. 使用java对文件批量重命名

    有时候从网络上下载的电视剧或者动漫,名字上都会被该网站加上前缀或者后缀,如图: 那么处女座的同学就不同意了,不行,我就是想让它按照我的习惯方式命名!但是呢,一个个修改是不是特别麻烦,如果是上百个呢?如 ...

  5. cmd - 批量重命名文件

    相信大家或多或少都遇到过类似的情况:从网上下载了好多图片(或者其他的文件),这些图片的名字往往都是些乱七八糟的字母数字的组合,我们想要一次性修改几十张上百张的图片的名字应该怎么办呢? 这里有两种方法, ...

  6. Python 写了一个批量生成文件夹和批量重命名的工具

    Python 写了一个批量生成文件夹和批量重命名的工具 目录 Python 写了一个批量生成文件夹和批量重命名的工具 演示 功能 1. 可以读取excel内容,使用excel单元格内容进行新建文件夹, ...

  7. shell下批量重命名svn文件的方法

    shell下批量重命名svn文件的方法 目标: 将svn目录下所有文件重命名 , 原文件前缀为 ucc_ , 批量改为 xmd_ 用tree看下当前svn目录 ucc_1.c ucc_1.h ucc_ ...

  8. python之对指定目录文件夹的批量重命名

    python之对指定目录文件夹的批量重命名 import os,shutil,string dir = "/Users/lee0oo0/Documents/python/test" ...

  9. linux下的文件操作——批量重命名

    概述:在日常工作中,我们经常需要对一批文件进行重命名操作,例如将所有的jpg文件改成bnp,将名字中的1改成one,等等.文本主要为你讲解如何实现这些操作 1.删除所有的 .bak 后缀: renam ...

随机推荐

  1. hadoop常见操作命令

    1.查看指定文件夹下内容 hadoop dfs –ls [文件文件夹] eg: hadoop dfs –ls /user/wangkai.pt 2.打开某个已存在文件 hadoop dfs –cat ...

  2. MySQL命令行登陆

    环境介绍 OS:CentOS6.X & Win2003 & Win2008 MySQL版本号:5.5.x 除了经常使用的MySQL管理工具,还有MySQLclient命令行工具经常被用 ...

  3. 谈谈dynamickeyword

    谈谈dynamickeyword 前言 今天和谈了两年的女朋友分手了,一開始我还认为是由于这次的吵架,由于我今天一天没联系她,她就生气了,说了分手,我是说一開始我以为是这样.然后我想了想,矛盾就像不停 ...

  4. @RestController注解的使用

    示例代码:/*@ResponseBody@Controller*/@RestControllerpublic class HelloController { @RequestMapping(" ...

  5. Spring学习笔记——Spring事务仅仅对执行时异常回滚

    我们在使用Spring时候一般都知道事务在遇到异常的时候会回滚.岂不知Spring的事务默认仅仅有在发生执行时异常即:RunTimeException时才会发生事务,假设一个方法抛出Exception ...

  6. 支付宝即时到帐接口的python实现,演示样例採用django框架

    因工作须要研究了支付宝即时到帐接口.并成功应用到站点上,把过程拿出来分享. 即时到帐仅仅是支付宝众多商家服务中的一个,表示客户付款,客户用支付宝付款.支付宝收到款项后,立即通知你,而且此笔款项与交易脱 ...

  7. B1024 生日快乐 递归。。。

    bzoj1024叫生日快乐,其实很简单,但是没看出来就很尴尬... Description windy的生日到了,为了庆祝生日,他的朋友们帮他买了一个边长分别为 X 和 Y 的矩形蛋糕.现在包括win ...

  8. [python 基础]python装饰器(二)带参数的装饰器以及inspect.getcallargs分析

    带参数的装饰器理解无非记住两点: 1.本质不过在基本的装饰器外面再封装一层带参数的函数 2.在使用装饰器语法糖的时候与普通装饰器不同,必须要加()调用,且()内的内容可以省略(当省略时,admin默认 ...

  9. 从map到hash

    https://zybuluo.com/ysner/note/1175387 前言 这两种技巧常用于记录和去重量少而分散的状态. 都体现了映射思想. \(map\) 我一般是数组开不下时拿这玩意判重. ...

  10. 35个jquery小技巧

    1. 禁止右键点击 ? 1 2 3 4 5 $(document).ready(function(){     $(document).bind("contextmenu",fun ...