‘壹’ 如何用python批量改文件名
批量修改文件名的方法(以批量修改图片为例进行说明,修改ppt相同的道理)如下:在c盘建立一个文件夹,将下载的图片放置于该文件夹中,如下图所示。
鼠标左键点击,开始-》运行-》在对话框中输入字母“cmd”,进入dos模式 ,如下图所示。
在dos模式输入命令行“cd c:\pic”然后回车,再输入命令行“dir /b>rename.xls",如下图所示,可将文件夹中的文件名在rename.xls文件中列出。
随后用xls打开c:\pic文件夹中的rename.xls,会发现文件名以全部罗列在A列中(你也可以用鼠标来调整文件名的顺序),可以在B1列中输入1.jpg作为第一个文件文件名。
鼠标选中B1单元格,并在B1列的右下方,使鼠标光标变为+号时,拖动使所有jpg文件的右侧B列中都有文件名。再将A8单元格中没有用的文件名删除,如下图示。
鼠标选中C1单元格,并在编辑框中输入公式="ren "&A1&" "&B1,如下图所示。
继续用鼠标拖动C1单元格右下方的句柄,使剩余的C2-C7单元格填充如下图所示。
然后,鼠标选中C列,鼠标右键复制,如下图示。
在记事本中,粘贴刚才的命令行,如下图示。
鼠标点击菜单“文件”——“另存为”,输入文件名ren.bat,要注意下图所示红圈中的路径及扩展名选项。
打开c盘pic文件夹,鼠标双击ren.bat这个批处理文件,即可将该文件夹下的jpg图片,按照刚才rename.xls中的顺序和文件名批量修改文件名,如下图示。
自此,已经完成了批量修改文件名的操作。运用了dos命令技巧、xls技巧以及批处理3个知识点来达到批量修改文件名的效果。
‘贰’ 怎么用python批量修改文件名
基本程序
1
引入os模块(python中操作文件的模块)。
2
定义修改名称的函数rename。
在rename函数中定义一个储存路径的变量path,并将要修改文件名的文件夹的路径赋值给该变量。
3
继续向函数中添加功能代码
4
最后调用这个rename函数这个脚本就写完了。执行这个文件,就会将文件夹下所有的文件改成 这里是你要改的文件名.后缀名 这样的格式,显然我们一般情况下不是需要这样的效果的。下面我列出了一些常用的改文件名的方法。
5
列出代码,便于复制
import os;
def rename():
path="这里替换为你的文件夹的路径";
filelist=os.listdir(path)#该文件夹下所有的文件(包括文件夹)
for files in filelist:#遍历所有文件
Olddir=os.path.join(path,files);#原来的文件路径
if os.path.isdir(Olddir):#如果是文件夹则跳过
continue;
filename=os.path.splitext(files)[0];#文件名
filetype=os.path.splitext(files)[1];#文件扩展名
Newdir=os.path.join(path,"这里是你要改的文件名"+filetype);#新的文件路径
os.rename(Olddir,Newdir);#重命名
rename();
END
添加改名规律
1
(1).序号依次递增型
import os;
def rename():
count=0;
path='C:\\Users\\admin\\Desktop\\test';
filelist=os.listdir(path)#该文件夹下所有的文件(包括文件夹)
for files in filelist:#遍历所有文件
Olddir=os.path.join(path,files);#原来的文件路径
if os.path.isdir(Olddir):#如果是文件夹则跳过
continue;
filename=os.path.splitext(files)[0];#文件名
filetype=os.path.splitext(files)[1];#文件扩展名
Newdir=os.path.join(path,str(count)+filetype);#新的文件路径
os.rename(Olddir,Newdir);#重命名
count+=1;
rename();
2
(2).批量取分隔符前面/后面的名称
import os;
def rename():
path='C:\\Users\\admin\\Desktop\\test';
filelist=os.listdir(path)#该文件夹下所有的文件(包括文件夹)
for files in filelist:#遍历所有文件
Olddir=os.path.join(path,files);#原来的文件路径
if os.path.isdir(Olddir):#如果是文件夹则跳过
continue;
filename=os.path.splitext(files)[0];#文件名
filetype=os.path.splitext(files)[1];#文件扩展名
if filename.find('---')>=0:#如果文件名中含有---
Newdir=os.path.join(direc,filename.split('---')[0]+filetype);
#取---前面的字符,若需要取后面的字符则使用filename.split('---')[1]
if not os.path.isfile(Newdir):
os.rename(Olddir,Newdir);
rename();
‘叁’ 使用python对文件名进行批量修改(二)2020-06-08---删除指定字符串
本文接上一篇 使用python对文件名进行批量修改2020-04-24 待续内容,主要介绍如何删除文件名前缀及后缀,方法为基于lstrip()和partition()函数的实现。
(1)删除文件名前缀; 如 “ www.cn-ki.net_ ”。
(2)删除指定字符之后的内容;如 ”_张三“ 、 “_李四” 、 ”_Mike“ 等。
(1)删除前缀函数 str.lstrip()
将字符串s中的’aabb_‘删除,运行结果如图:
(2)删除指定字符之后内容,使用函数 str.partition()
将字符串s中的’_aabb‘删除,运行结果如图:
Python 3.6.4
‘肆’ python如何实现批量变更文件名
b = a.replace("文件夹","文件") # 这一句的效果是将-替换为空
# 这里可以再加个判断是否有“文件”两字,没有给他加上即可
if b.find("文件") == -1:
b = "文件" + b
‘伍’ python如何批量修改指定目录下的文件名称
# -*- coding: utf-8 -*-import os, sys,re,shutilfrom nt import chdir
#读取中文路径 u''path=u"D:\zhyue93\backup\个人文件\视频\10、C#\4、C# 语言进阶特性"dirs=os.listdir(path)
#排序 1,2,3...10,11dirs=sorted(dirs,key = lambda i:int(re.match(r'(d+)',i).group()))
#将文件改名i=10for dir in dirs:
i+=1
newDir=os.path.join(path,dir)
newFiles=os.listdir(newDir) for file in newFiles: #rename之前要先用chdir()函数进入到目标文件所在的路径,
#告诉python编译器要重命名的文件在哪儿,然后才可以修改
#改变当前工作目录到指定的路径 chdir(newDir)
os.rename(file,str(i)+"-"+file) print '-----'
#将文件移动到path路径下print u'移动文件'for dir in dirs:
newDir=os.path.join(path,dir)
newFiles=os.listdir(newDir) for file in newFiles:
oldFilePath=os.path.join(newDir,file)
newFilePath=os.path.join(path,file)
shutil.move(oldFilePath, newFilePath)#移动文件到目标路径
‘陆’ python修改文件名问题
filenames=os.listdir('D:\\workspace\\python\\src\\test')
上面的代码执行之后,filenames中存储的只是文件名字的列表,不包括路径!
所以for循环里面应该是
path = 'D:\\workspace\\python\\src\\test'
os.rename(os.path.join(path, filenames[a]),str(a)+'.bmp')