0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

python之怎样去批量修改文件名呢

冬至配饺子 来源:缪斯之子 作者:肖新苗 2022-08-23 10:55 次阅读

1. 批量修改文件名

例子: 把b站下载的长文件名替换为短的

'''
说明: 去掉文件名中共同的部分
'''
import os


# 修改文件
def rename(data_dir: str, is_loop: bool, old: str, new: str):
fileList = os.listdir(data_dir)
for file_name in fileList:
full_file_name = os.path.join(data_dir, file_name)
# 遍历所有文件夹中的文件
if os.path.isdir(full_file_name):
if is_loop:
rename(full_file_name, is_loop, old, new)
else:
continue
new_name = file_name.replace(old, new, -1)
full_new_name = os.path.join(data_dir, new_name)
if full_file_name == full_new_name:
continue
print(full_file_name)
print(f'替换 {full_new_name}')
os.rename(full_file_name, full_new_name)
pass

# 最外层的文件夹
data_path = r'2021年最新爬虫+反爬+js逆向(配套完整项目)_'
old = ''
new = ''
rename(data_path, True, old, new)

2. 网盘分享通过:

替换: 网盘会审核文件名, 所以,干脆所有文件名都只用数字表示,顺便给自己网站打一波广告

0400 第402章 决胜的关键.m4a => 0400{discuz.elandcloud.com}.m4a

import os
import re


def rename(data_dir: str, ptn: re.Pattern, new_repl: str, is_loop: bool):
fileList = os.listdir(data_dir)
for file_name in fileList:
full_file_name = os.path.join(data_dir, file_name)
# 遍历所有文件夹中的文件
if os.path.isdir(full_file_name):
if is_loop:
rename(full_file_name, ptn, is_loop)
else:
continue
new_name = ptn.sub(new_repl, file_name)
full_new_name = os.path.join(data_dir, new_name)
os.rename(full_file_name, full_new_name)
pass


data_path = r'D:\1.source\pythonpath\xmly-paid\data\琅琊榜'
ptn = re.compile(r'(\d+).*?(\.m4a)')
# 选择要保留的组,\g<1>表示第1组(就是前面的数字),\g<2>表示第2组(就是.m4a)
new_repl = r'\g<1>{discuz.elandcloud.com}\g<2>'
rename(data_path, ptn, new_repl, True)



审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • python
    +关注

    关注

    56

    文章

    4796

    浏览量

    84668
收藏 人收藏

    评论

    相关推荐

    Labview文件路径中空格变成问号导致文件无法打开

    *附件:Test.zip使用Labview加载外部文件时,由于文件名的编码规则与labview默认编码规则不一致,如果路径中带有空格会导致空格被labview识别为问号,导致文件无法不打开。 已尝试
    发表于 12-16 10:24

    嵌入式 学习-飞凌嵌入式ElfBoard ELF 1板卡-shell脚本编写输入输出重定向

    终端)更改为从指定文件中获取。输出重定向使用方法:1.命令 &gt; 文件名(将命令执行的结果输出到文件中,输出的结果会覆盖掉文件原来的内容)。2.命令 &gt
    发表于 09-24 10:06

    LMH7322怎样改善输出波形

    图一 我按照LMH7322资料中,按照上图一 画的 PCB图 (见图二) 图二 测试时输出的波形为: 请问工程师 怎样改善输出波形
    发表于 09-02 06:57

    使用Python批量连接华为网络设备

    随着网络规模的扩大和设备数量的增加,手动配置和管理每台网络设备变得越来越不现实。因此,自动化工具和脚本变得尤为重要。Python语言以其简洁性和强大的第三方库支持,成为了网络自动化领域的首选。本篇文章将详细介绍如何使用Python批量
    的头像 发表于 08-12 17:48 464次阅读

    PDF文件批量打印源代码

    压缩包中包含可批量打印PDF文件Python代码,可以借助PYcharm工具执行,实现多PDF文件同时打印。
    发表于 08-08 14:26 0次下载

    如何修改buildroot和debian文件系统

    本文档主要介绍在没有编译环境的情况下,如何修改buildroot和debian文件系统方法,如在buildroot文件系统中添加文件修改
    的头像 发表于 07-22 17:46 464次阅读
    如何<b class='flag-5'>修改</b>buildroot和debian<b class='flag-5'>文件</b>系统

    如何实现Python复制文件操作

    Python 中有许多“开盖即食”的模块(比如 os,subprocess 和 shutil)以支持文件 I/O 操作。在这篇文章中,你将会看到一些用 Python 实现文件复制的特殊
    的头像 发表于 07-18 14:53 420次阅读

    SDK 1.0移植到eclipse失败,如何修改makefile文件

    虚拟机编译太麻烦,想把SDK 1.0移植到安信可的eclipse编译环境,出现如下错误,是否需修改makefile文件?如何修改? 错误信息错误.png (5.31 KiB) Viewed 4998 times 另外,官方什
    发表于 07-12 11:08

    IAR for STM8怎样在编辑框内打开源文件

    怎样在IAR里打开、编辑源文件?我双击workspace框列出的文件名,没任何反应
    发表于 05-17 06:43

    如何修改驱动使安装后设备

    如何修改驱动使安装后设备,不显示为STM32 Virtual COM Port,而是其他,比如修改成产品名
    发表于 05-11 06:57

    FPGA研发设计规范的简明探讨

    每个module应存在于单独的源文件中,源文件名应与其所包含的模块名相同。每个设计都应该有一个完善的文件头,包含公司名称、设计者、设计时间、文件名、所属项目、模块名称及功能、
    的头像 发表于 04-26 11:43 446次阅读
    FPGA研发设计规范的简明探讨

    请问stm32f429如何显示u盘中的中文文件名

    大家有没有用f429实现显示u盘中中文文件名的功能?如何实现能说一下吗?
    发表于 04-17 08:23

    使用FATFS中fopen函数创建新文件名称时,有什么方法可以增加字符长度吗?

    在使用FATFS中fopen函数创建新文件名称时,发现txt文件名长度不能超过8个英文字符,请问有什么方法可以增加字符长度吗?在文件系统中的哪个位置更改参数
    发表于 03-28 08:39

    python中open函数的用法详解

    python中open函数的用法详解 Python中的open()函数用于打开文件。它接受文件名和模式作为参数,并返回一个文件对象。
    的头像 发表于 01-30 15:31 2111次阅读

    【核桃派1B 开发板试用体验】+ Python编程篇

    Ctrl+X 键,然后按Y键来保存,并以回车加以确认。 在运行时,则是以python+文件名的形式来执行,见图5所示。 图4 编辑文件 图5 运行文件 当然我们使用
    发表于 01-03 22:08