python批量替换文件名中的共同字符实例
作者:黄河大鲤鱼 发布时间:2022-07-11 05:22:37
标签:python,替换,文件名,字符
今天看新概念视频的时候播放器PotPlayer的播放列表总是不能正确排序,我看到这些视频的名字格式如下:
Lesson 1-2 单词解读.mp4
我认为是数字前面的Lesson和空格干扰了播放器的排序,就考虑把这个文件夹下所有的文件名批量删除Lesson和空格,使之变成:
1-2 单词解读.mp4
这里主要使用的就是os模块下的listdir,chadir和rename三个方法
虽然最后还是排序不正确,我只能怪播放器不好了。
代码如下
# -*- coding: UTF-8 -*-
import os
#获得文件夹下文件名列表
path=r"G:\BaiduNetdiskDownload\第1册"
path=unicode(path,"utf8")
file_list=os.listdir(path)
#选择要重命名的文件夹路径
os.chdir(path)
#将文件名中的Lesson和空格用空字符串替代
for file in file_list:
os.rename(file,file.replace("Lesson ",""))
程序在调试的时候感觉python的2.x版本中文编码问题很扰人,最后将路径编码成utf-8格式解决。
补充知识:python实现替换某个文件中的某个字符串(全部替换)
我就废话不多说了,咱还是直接看代码吧!
#!/usr/bin/python
#-*-coding:utf-8-*-
import click
#不需要替换的文件
UNMATCH = (".DS_Store","loading","niutou_run","zhuyao")
#参数设置
@click.command()
@click.option("-root",help=u'根目录')
@click.option("-src",help=u'源字符')
@click.option("-dst",help=u'目标字符')
def run(**options):
root = options["root"]
src = options["src"]
dst = options["dst"]
for file in os.listdir(root):
colorPrint("file:",file)
if not isInTuple(file):
jsonName = file + ".json"
fileFullPath = root +"/" + file + "/" + jsonName
fp = open(fileFullPath,"r+")
tempStr = fp.read()
result = re.sub(src,dst,tempStr)
colorPrint("seek1:",fp.tell())
fp.seek(0,0)
colorPrint("seek2:",fp.tell())
fp.write(result)
fp.close()
#是否在UNMATCH中
def isInTuple(name):
for temp in UNMATCH:
if name == temp:
return True
break
return False
#彩色打印
def colorPrint(desc,str):
print('\033[1;31;40m')
print(desc,str)
print('\033[0m')
if __name__ == '__main__':
run()
来源:https://blog.csdn.net/sinat_16432941/article/details/78161145


猜你喜欢
- eWebEditor V2.80最终版 说明 目录结构说明 =============================
- JavaScript/Dom中有很多很零碎的东西,让人总是感觉理解的有些“朦胧”,因此,有时候还是应该总结一下,对于Event对象,前两天看
- 相信为数不少的系统管理员每天都在做着同一样的工作——对数据进行备份。一旦哪一天疏忽了,而这一天系统又恰恰发生了故障,需要进行数据
- bcp是SQL Server中负责导入导出数据的一个命令行工具,它是基于DB-Library的,并且能以并行的方式高效地导入导出大批量的数据
- 前言开发中我们或多或少会涉及到一些场景需要使用延时操作,而延时操作其实并不是一个很好的选择,并不是一个很好的方案,因为它不可控,也可能产生时
- 1、先来看看为什么会出锁住: 数据库是一个多用户使用的共享资源。当多个用户并发地存取数据时,在数据库中就
- MySQL内外连接表的连接分为内连接和外连接。内连接内连接内连接的SQL如下:SELECT ... FROM t1 INNER JOIN t
- 前言:『入门MySQL』系列文章已经完结,今后我的文章还是会以MySQL为主,主要记录下近期工作及学习遇到的场景或者自己的感悟想法,可能后续
- 这是一个很长的故事,嫌长的直接看最后的结论事情经过上周接了个需求,写了个小工具给客户,他要求打包成exe文件,这当然不是什么难事。因为除了写
- 一、安装go get github.com/sirupsen/logrus二、使用1、当做标准库使用logrus实现了标准库log的方法,可
- 教育信息化时代,考试成绩也要求上网公布。一次我将考试成绩制作成一个HTML文件,如图1所示,领导审查的意见是“将成绩按名次排列”,可是所有的
- 本文实例讲述了Python计算字符宽度的方法。分享给大家供大家参考,具体如下:最近在用python写一个CLI小程序,其中涉及到计算字符宽度
- ASP正则表达式,RegExp对象提供简单的正则表达式支持功能。RegExp对象的用法: Function RegExpTest(
- 在我们制作网页的时候会经常碰到一些需求,如果不知道方法,说不定会困扰我们半天。其实实现它们都很简单,下面我们就一起来看看这些常用的网页编辑方
- 数据集成:将不同表的数据通过主键进行连接起来,方便对数据进行整体的分析。两张表:ReaderInformation.csv,ReaderRe
- 背景:有些数学题目经常要用到数形结合思想,尤其是一些函数题目,如果能够把函数图像画出来进行解题的话,思路会更加清晰明了。python绘图主要
- tensorflow在1.4版本引入了keras,封装成库。现想将keras版本的GRU代码移植到TensorFlow中,看到TensorF
- 一、Postman背景介绍用户在开发或者调试网络程序或者是网页B/S模式的程序的时候是需要一些方法来跟踪网页请求的,用户可以使用一些网络的监
- 检测缺失值我们先创建一个带有缺失值的数据框(DataFrame)。import pandas as pddf = pd.DataFrame(
- --销售冠军 --问题:在公司中,老板走进来,要一张每个地区销量前3名的销售额与销售员的报表 --- create table salesd