用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使文件名按照一定规则批量重命名的主要内容,如果未能解决你的问题,请参考以下文章
[经典] 使用Python批量重命名iPhone拍摄的照片-按照拍摄时间重命名