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
    +关注

    关注

    57

    文章

    4857

    浏览量

    89581
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    飞凌嵌入式ElfBoard-标准IO接口打开文件

    )filename:表示想要打开的文件的绝对路径,或者当前路径下的文件名。2)mode:表示打开文件用的操作(1-6必选其一,7和8可以省略)\"r\":以只读方式打开
    发表于 11-05 08:48

    termux输出Hello termux

    (...)`),执行时通过终端命令 `python 文件名.py` 调用解释器 。 检查复制内容: 从网页复制代码时,需清除额外的格式标签(如 ``)。 基础编辑器操作: Termux 默认的 `nano
    发表于 08-29 12:16

    怎么导出python边缘计算中的APP,想进行修改又找不到源码?

    怎么导出python边缘计算中的APP,想进行修改又找不到源码
    发表于 08-06 07:33

    Linux常见指令解析

    对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息。
    的头像 发表于 07-04 10:24 504次阅读
    Linux常见指令解析

    harmony-utilsFileUtil,文件相关工具类

    harmony-utilsFileUtil,文件相关工具类
    的头像 发表于 07-03 18:23 378次阅读

    迅为RK3568开发板Dev-Eco studio 的界面布局-导航栏-代码编辑区

    代码编辑区如下图所示,在这里可以修改代码以及切换显示的文件。 代码编辑区以下几个常用使用操作。 文件标签,展示编辑的文件名 点击文件名,可以
    发表于 06-20 11:12

    怎样使用Jlink (SEGGER) 通过SWD读写

    怎样使用Jlink (SEGGER) 通过SWD读写?Jlink没有找到CYPD6125的信号,官方也没有找到CYPD6125对应的FLM和xml 文件
    发表于 05-27 06:45

    请问CYUSB3065如何修改电脑识别后的USB设备

    大家好!想修改USB识别后,电脑显示的设备名字,默认是CX3-UVC想修改成其他的,需要改哪些文件的哪些位置
    发表于 05-14 07:53

    IAR无法跳转定义,系统库文件文件名后有[RO]是怎么回事?

    IAR无法跳转定义,系统库文件文件名后有[RO]
    发表于 03-10 07:36

    dlpc3433怎样修改固件会将开机时显示的为无启动画面且为外部输入模式

    怎样修改固件会将开机时显示的为无启动画面且为外部输入模式?或者说有什么工具可以修改
    发表于 02-27 06:08

    如何将python文件导入到ROS系统中

    本文通过使用myCobot机械臂进行QR码视觉追踪的实践案例分析,介绍如何将 python 文件导入到 ROS 系统中。
    的头像 发表于 02-11 11:08 1195次阅读
    如何将<b class='flag-5'>python</b><b class='flag-5'>文件</b>导入到ROS系统中

    hyper-v 文件,Hyper-V文件管理:高效操作指南

    在日常办公中,我们常常需要对大量文件或数据进行重复性操作,比如批量修改文件名批量更新数据等。这些任务不仅耗时费力,还容易出错。幸运的是,
    的头像 发表于 02-06 10:27 1271次阅读
    hyper-v <b class='flag-5'>文件</b>,Hyper-V<b class='flag-5'>文件</b>管理:高效操作指南

    嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-初识设备树Makefile修改

    不同而新增加了dts,则需要在这个Makefile的这个位置添加上对应的.dtb文件名参与编译。ELF 1使用的设备树命名为imx6ull-elf1-emmc.dts,是基于NXP官方evk板子的设备树imx6ull-14x14-evk.dts修改而来,
    发表于 01-13 09:09

    飞凌嵌入式ElfBoard ELF 1板卡-初识设备树Makefile修改

    不同而新增加了dts,则需要在这个Makefile的这个位置添加上对应的.dtb文件名参与编译。ELF 1使用的设备树命名为imx6ull-elf1-emmc.dts,是基于NXP官方evk板子的设备树imx6ull-14x14-evk.dts修改而来,
    发表于 01-10 09:23

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

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