python批量替换文件名中的共同字符实例


Posted in Python onMarch 05, 2020

今天看新概念视频的时候播放器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()

以上这篇python批量替换文件名中的共同字符实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
详解MySQL数据类型int(M)中M的含义
Nov 20 Python
Python之日期与时间处理模块(date和datetime)
Feb 16 Python
python实现文件助手中查看微信撤回消息
Apr 29 Python
使用python判断jpeg图片的完整性实例
Jun 10 Python
Python 正则表达式 re.match/re.search/re.sub的使用解析
Jul 22 Python
通过 Python 和 OpenCV 实现目标数量监控
Jan 05 Python
python GUI库图形界面开发之PyQt5中QWebEngineView内嵌网页与Python的数据交互传参详细方法实例
Feb 26 Python
Flask中sqlalchemy模块的实例用法
Aug 02 Python
Python字典实现伪切片功能
Oct 28 Python
Python Pandas数据分析工具用法实例
Nov 05 Python
django中ImageField的使用详解
Dec 21 Python
python 将html转换为pdf的几种方法
Dec 29 Python
python批量修改xml属性的实现方式
Mar 05 #Python
python修改linux中文件(文件夹)的权限属性操作
Mar 05 #Python
Python实现在Windows平台修改文件属性
Mar 05 #Python
Pycharm最常用的快捷键及使用技巧
Mar 05 #Python
Python 去除字符串中指定字符串
Mar 05 #Python
Python脚本去除文件的只读性操作
Mar 05 #Python
Python IDE环境之 新版Pycharm安装详细教程
Mar 05 #Python
You might like
ThinkPHP模板Switch标签用法示例
2014/06/30 PHP
php array_key_exists() 与 isset() 的区别
2016/10/24 PHP
PHP获取文本框、密码域、按钮的值实例代码
2017/04/19 PHP
php往mysql中批量插入数据实例教程
2018/12/12 PHP
Laravel重定向,a链接跳转,控制器跳转示例
2019/10/22 PHP
用js得到网页中所有的div的id
2020/10/19 Javascript
NodeJS的url截取模块url-extract的使用实例
2013/11/18 NodeJs
深入理解JQuery keyUp和keyDown的区别
2013/12/12 Javascript
ashx文件获取$.ajax()方法发送的数据
2016/05/26 Javascript
简单的js表格操作
2016/09/24 Javascript
关于vuex的学习实践笔记
2017/04/05 Javascript
原生js+cookie实现购物车功能的方法分析
2017/12/21 Javascript
详解es6超好用的语法糖Decorator
2018/08/01 Javascript
使用Bootstrap做一个朝代历史表
2019/12/10 Javascript
[36:13]Mineski vs iG 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
python的Template使用指南
2014/09/11 Python
python打开网页和暂停实例
2014/09/30 Python
Python实现CET查分的方法
2015/03/10 Python
新手如何快速入门Python(菜鸟必看篇)
2017/06/10 Python
Python使用pandas处理CSV文件的实例讲解
2018/06/22 Python
python实现归并排序算法
2018/11/22 Python
对python中词典的values值的修改或新增KEY详解
2019/01/20 Python
python 设置输出图像的像素大小方法
2019/07/04 Python
Python通过4种方式实现进程数据通信
2020/03/12 Python
Pycharm修改python路径过程图解
2020/05/22 Python
Python3如何在服务器打印资产信息
2020/08/27 Python
Pycharm创建python文件自动添加日期作者等信息(步骤详解)
2021/02/03 Python
Johnston & Murphy官网: 约翰斯顿·墨菲牛津总统鞋
2018/01/09 全球购物
求职简历中个人的自我评价
2013/12/01 职场文书
餐厅采购员岗位职责
2014/03/06 职场文书
老龄工作先进事迹
2014/08/15 职场文书
学习党的群众路线教育实践活动剖析材料
2014/10/13 职场文书
公务员年度考核登记表个人总结
2015/02/12 职场文书
2015年妇联工作总结范文
2015/04/22 职场文书
深度好文:50条没人告诉你的人生经验,句句精辟
2019/08/22 职场文书
python 提取html文本的方法
2021/05/20 Python