用python使文件名按照一定规则批量重命名

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用python使文件名按照一定规则批量重命名相关的知识,希望对你有一定的参考价值。

参考技术A 所用模块:import os

(一)打开文件夹,获得旧文件名

path=r"D:\exp\resultdata"   //文件夹途径

for (root, dirs, files) in os.walk(path):

os.walk(path)//遍历D:\exp\resultdata下文件

(二)获得新文件名(如何打开一个文件)

一般新文件名都保存在一个文件中

new_names_files=open('文件名.txt','r')

content=open('文件名.txt','r')(此时content是一个含有所有new name 的列表)

注意:对新名字(字符串)会有一些操作

(1)对文件名(字符)的分割

用split()进行分割

a=''wer.werrew/"

(2)list 添加新的元素、

用append()进行添加

(3)字典添加新的元素

用update()进行添加

实例:

(三)重命名

利用os.rename()函数

实例:旧名字与新名字的数字相对

file=['1.max','2.max'……]//旧名字

for file in files:

        oldname = os.path.join(root,file)

        namesp=file.split('.')

        new_namesp=d[int(namesp[0])]//数字相对

        newname = os.path.join(root,new_namesp)

        os.rename(oldname,newname)

python怎样批量修改文件名

参考技术A os.rename(a,b)是把a重命名为b(名字带路径)
os.listdir(path)以列表形式获取路径下文件(包括文件夹),os.listdir(“.”)是当前文件夹
然后。。。想怎么重命名就怎么写程序。。。遍历,(检查,)修改。。。
如果待重命名的文件和py程序在一个文件夹会很方便,重命名不需要路径,像os.rename(“1.txt”,“2.txt”)
如果重命名的规则没法表述,那只能自己一个个改了。。。本回答被提问者采纳
参考技术B import shutil
import os
os.rename("oldname","newname")
shutil.move("oldpos","newpos")以前两个命令都能改名,先把文件路径放到一个列表里,然后批量调用上面的命令

以上是关于用python使文件名按照一定规则批量重命名的主要内容,如果未能解决你的问题,请参考以下文章

DOS按规则批量重命名所有(子)目录下文件

用Python批量重命名文件

[经典] 使用Python批量重命名iPhone拍摄的照片-按照拍摄时间重命名

苹果Mac强大的批量重命名工具:A Better Finder Rename

python怎样批量修改文件名

如何用c语言进行文件的批量重命名