python批量修改文件名

本文介绍了如何使用Python编写简洁代码,通过os和replace函数批量替换视频文件名中的空格,实现文件名规范化,适合处理包含空白的文件名问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  上篇文章介绍调用ffmpeg批量剪切视频,但是对文件名有要求,主要是文件名里面不能有空白,有的话则传给ffmpeg的参数中文件名是断开的,ffmpeg无法识别空白前后的字符串是否属于同一文件名。
  可以用C#编写程序批量修改文件名,但是用VS编写最简单的控制台程序都很麻烦。最近开始学习python,编写、运行python程序比较轻量化,本文记录使用python批量修改文件名的方法。
  批量修改文件名的python程序主要参考文献1,并对其进行了调整。主要使用的python模块和函数如下:

  • os模块。该模块提供了非常丰富的方法用来处理文件和目录;
  • os.listdir。该函数返回指定的文件夹包含的文件或文件夹的名字的集合;
  • os.rename。该函数重命名文件或目录;
  • 字符串的endswith函数。该函数用于判断字符串是否以指定后缀结尾;
  • 字符串的replace函数。该函数把字符串中的 旧字符串替换成新字符串。

  全部的程序代码如下所示:

import os

path = r"D:\test"
files=os.listdir(path)

for onefile in files:
    if not onefile.endswith(".mp4"):
        continue
    oldname=path+"\\"+onefile
    newname=path+"\\"+onefile.replace(" ","_")
    os.rename(oldname,newname)
    print(oldname,"====>",newname)

  直接在命令行中用python命令运行上述代码文件,下面两个图是程序运行效果。第一个图是修改前的截图,第二个图是修改后的截图。这里比较奇怪的是,程序正常运行结束后,按理说名字中已经把空格换成了下划线,但是视觉上看还是跟原来名字一样,只有查看文件属性的时候才看到名字已经是改过来了,暂时还搞不清楚是怎么回事。
在这里插入图片描述

在这里插入图片描述
  使用python可以用短短10行代码完成批量修改文件名操作,这比在VS中用C#编程要简单的多(虽然C#语句也不会太长,但是打开VS、编写并调试代码、运行程序,这些步骤比用python多)。两者结合起来使用能更便捷地处理操作。

参考文献:
[1]https://blog.csdn.net/qq_38643064/article/details/88876418
[2]https://www.runoob.com/python3/python3-string-replace.html
[3]https://www.runoob.com/python3/python3-os-file-methods.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值