python怎么设置根据文件名_用python使文件名按照一定规则批量重命名

所用模块:import os

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

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

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

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

path代表需要遍历的根文件夹

root表示正在遍历的文件夹的名字 //路径

dirs记录正在遍历的文件夹下的子文件夹集合[文件夹中子文件夹名字的list]

files记录正在遍历的文件夹中的文件集合[文件名的list]

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

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

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

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

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

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

用split()进行分割

a=''wer.werrew/"例如:

b=a.split(.)

print(b)

输出结果:b=['wer','werrew/']

注意:字符串分割后得到是一个list

(2)list 添加新的元素、

用append()进行添加例如:

a=[]

a.append()

(3)字典添加新的元素

用update()进行添加例如:

d={}

d.update(key:value)

实例:例如:

对上面content列表中的new name 进行分割并得到以数字为key,后面字符串为名字。

content=['werwewf.1','wfcdsvw.2','sadwefew.3']

d={}

for i in content:

namesp=i.split(.)

d.update(namesp[0]:namesp[1])

(三)重命名

利用os.rename()函数例如

os.rename(oldname,newname)

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

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

for file in files:

oldname = os.path.join(root,file)os.path.join()函数:连接两个或更多的路径名组件

Path1 = 'home'

Path2 = 'develop'

Path3 = 'code'

Path10 = Path1 + Path2 + Path3

Path20 = os.path.join(Path1,Path2,Path3)

print ('Path10 = ',Path10)

print ('Path20 = ',Path20)

输出 Path10 = homedevelopcode

Path20 = home\develop\code

namesp=file.split('.')

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

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

os.rename(oldname,newname)os.renames() 方法用于递归重命名目录或文件。

os.rename(old,new)

old -- 要重命名的目录

new --文件或目录的新名字。甚至可以是包含在目录中的文件,或者完整的目录树。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值