将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. hdu 1698(线段树区间更新)

    Just a Hook Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total ...

  2. PHPExcel 使用心得

    最近有个项目需要将数据导出成excel,以前都没接触过.便google一下知道了PHPExcel 这个据说很强大的类库. 写这个博文主要目的等同于做笔记 1首先看了下官方的文档.http://phpe ...

  3. 81.Ext TreePanel实现单选等功能

    转自:https://blog.csdn.net/iteye_7988/article/details/81886654 在ext1.x里,树是没有checkbox的, 幸好在2.X版本里提供了这个功 ...

  4. 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 ...

  5. PCB SQL MS 将多行有序数据转为一行数据(一列转一行)

    一.原数据:多行有序 SELECT CC.techname FROM PPEflow BB LEFT JOIN pubgyxxb CC ON BB.techno = CC.techno ORDER B ...

  6. HDU1043 Eight

    题目: 简单介绍一下八数码问题:        在一个3×3的九宫格上,填有1~8八个数字,空余一个位置,例如下图: 1 2 3 4 5 6 7 8           在上图中,由于右下角位置是空的 ...

  7. 工作2-5年,身为iOS开发的我应该怎么选择进修方向?

    前言: 跳槽,面试,进阶,加薪:这些字眼,相信每位程序员都不陌生! 但是方向的选择,却不知如何抉择!其实最好的方向,已经在各个企业面试需求中完美的体现出来了: 本文展示了2份面试需求,以及方向的总结, ...

  8. Redis学习笔记(二):Redis集群

    集群通过分片(sharding)来进行数据共享,并提供复制和故障转移功能.   1.节点 一个节点就是一个运行在集群模式下的Redis服务器.启动Redis服务器时,通过判断cluster-enabl ...

  9. BZOJ 1914 计算几何

    思路: 我们可以算不合法的 如果三个点都在同一侧 就不合法.. 用总方案数减掉就可以了 (有神奇的实现方法...) //By SiriusRen #include <cmath> #inc ...

  10. 第一课trie 树 POJ 2001

    最短前缀(Openjudge上抄的) 总时间限制: 1000ms 内存限制: 65536kB 描述 一个字符串的前缀是从该字符串的第一个字符起始的一个子串.例如 "carbon"的 ...