将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. c++ 11 thread 初试

    最新的 c++11标准整合进了 线程支持.以下写一个小程序測试一下. 測试代码: #include <iostream> #include <thread> void hell ...

  2. .m文件导入C++头文件带来的错误

    这几天的工作挖了不少的坑.遇到了各种千奇百怪的错误,如今好好总结一下. 新建一个project,然后新建HelloCPP.h,HelloCPP.cpp文件.HelloCPP.h文件内容例如以下: #i ...

  3. ibatis 一对多查询

    <typeAlias alias="businessScopeItem" type="com.sdfrdj.vo.BusinessScopeItem"/& ...

  4. 1366 xth 的第 12 枚硬币

    1366 xth 的第 12 枚硬币  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 钻石 Diamond 题解       题目描述 Description 传说 xth 曾 ...

  5. 解决WinForm下ListBox控件“设置DataSource属性后无法修改项集合”

    解决WinForm下ListBox控件“设置DataSource属性后无法修改项集合” 最近更新: 2013-2-15    587   很少写WinForm程序第一次使用ListBox控件就遇到了比 ...

  6. iOS手势识别

    一.手势识别与触摸事件 1.如果想监听一个view上面的触摸事件,可选的做法是: (1)自定义一个view (2)实现view的touches方法,在方法内部实现具体处理代码 2.通过touches方 ...

  7. Coursera Algorithms week1 查并集 练习测验:2 Union-find with specific canonical element

    题目原文: Add a method find() to the union-find data type so that find(i) returns the largest element in ...

  8. php 图片生成器

    一.需求 最近公司由于有大量的海报要做,而且海报的布局规模都是一样的,只是内容不同,所以老板想我开发一个图片的生成器.可以根据你输入的内容生成海报图片. 具体有需求有以下的需求 1.可以根据将每条数据 ...

  9. Spring的AOP机制---- AOP环绕通知---- AOP环绕通知

    323232三个人个地方司法发送哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈

  10. 如何正确从windows系统(自己电脑)远程访问Linux系统(他人电脑)的mysql数据库(图文详解)

    这里,需要Linux系统开了root用户,我这给root用户密码为root.     同时,在mysql -uroot -proot执行进去之后 update user setHost='%' whe ...