python如何实现批量变更文件名?

python如何实现批量变更文件名?,第1张

b = a.replace("文件夹","文件") # 这一句的效果是将-替换为空

# 这里可以再加个判断是否有“文件”两字,没有给他加上即可

if b.find("文件") == -1:

b = "文件" + b

os.rename(a,b)是把a重命名为b(名字带路径)

os.listdir(path)以列表形式获取路径下文件(包括文件夹),os.listdir(“.”)是当前文件夹

然后。。。想怎么重命名就怎么写程序。。。遍历,(检查,)修改。。。

如果待重命名的文件和py程序在一个文件夹会很方便,重命名不需要路径,像os.rename(“1.txt”,“2.txt”)

如果重命名的规则没法表述,那只能自己一个个改了。。。

所用模块: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)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12200789.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存