笔者小白处理神经网络的数据集部分的时候,碰到一个坑,需要对文件进行重命名处理。那么下面就简要地介绍一下python中对文件名进行批处理的操作方法,以及在这个过程中出现的WindowsError: [Error 183]错误的解决方法。
python文件批量改名:
python对文件进行批量改名用到的是os模块中的listdir方法和rename方法。
os.listdir(dir) :获取指定目录下的所有子目录和文件名
os.rename(原文件名,新文件名):对文件或目录改名
1、把混乱的文件名改成有序的文件名:
import os
path=input('请输入文件路径(结尾加上/):')
#获取该目录下所有文件,存入列表中
f=os.listdir(path)
n=0
for i in f:
#设置旧文件名(就是路径+文件名)
oldname=path+f[n]
#设置新文件名
newname=path+'a'+str(n+1)+'.JPG'
#用os模块中的rename方法对文件改名
os.rename(oldname,newname)
print(oldname,'======>',newname)
n+=1
2、在movies文件夹下面的所有文件前面都加上[可可可可]
#coding:utf-8
import os
movie_name = os.listdir('./movies')
for temp in movie_name:
new_name = '[可可可可]' + temp
os.rename('./movies/'+temp,'movies/'+new_name)
3,把文件名前面乱七八糟的东西都去掉
#coding:utf-8
import os
movie_name = os.listdir('./movies')
for temp in movie_name:
num = temp.rfind(']')#找到最右边]的下标
# new_name = '[可可可可]' + temp
new_name = temp[num+1:]
os.rename('./movies/'+temp,'movies/'+new_name)
python中WindowsError: [Error 183]错误和os.raname( )详解
在利用python遍历文件夹中文件并重命名时,正确代码代码有时候确报错,出现WindowsError[183]。
【183】–>表示当文件存在时,无法创建文件。
os.rename(oldfilepath,newfilepath),该句报错,很可能是因为你的新的路径newfilepath已经和当前文件夹中某个文件重复,故出现上述错误【183】;
解决办法:找到重复文件命名为其他,或者先给个不重复的名字,然后在os.rename(oldfilepath,newfilepath)
得到最终想给的名字。
注:对于各种WindowsError的错误代码大全,可参考该文章:https://blog.csdn.net/qq_35221523/article/details/79214356
参考文献:
1、https://www.cnblogs.com/jmlovepython/p/5670207.html 2018.5.9
2、https://www.cnblogs.com/timtike/p/5887997.html 2018.5.9
3、https://blog.csdn.net/qq_22227123/article/details/79902892 2018.5.9