遇到问题:
我的文件夹下是一堆MP3格式的音频文件,其中含有中文字符。在对这些文件进行批量处理的时候,老文件名和新文件名都能获取到。但是就是在改名的时候报错文件找不到:
File Not Found Error: Win Error 2 系统找不到指定的文件。: ‘一yi1.mp3’ -> 'eceace9c386111ebb5e70242ac110002’
源码:
os.rename(old_name,new_name)
报错原因:
错误widnowsError [error 2]* 是因为系统找不到指定的文件。
os.rename默认查找的路径是该程序所在的文件夹,如果查找的文件与程序不在一个文件夹,需要指定绝对路径
虽然在上面指定的path路径,但是python程序运行的时候会默认搜索的是当前工程文件下的目中。
如图当前工程文件所在的问价目录下没有相关的文件,所以会显示报错找不到文件。
解决办法:
1、切换当前工作环境目录:
os.chdir(path) # 切换工作路径,path为需要处理的数据所在的目录
2、在遍历文件后,利用os.path.jion(),把路径与file.name拼接起来,就可以解决问题了
os.rename(os.path.join(path,old_name),os.path.join(path,new_name))
问题完美解决: