您的位置:首页 > 编程语言 > Python开发

python编写一个对文件重命名程序

2020-02-02 23:07 811 查看
import cv2
import os

if __name__=='__main__':

#path = "F:\\luanbo\\xiao\\VOC\\JPEGimages\\train"
path = "F:\\luanbo\\xiao\\VOC\\JPEGimages\\test"
#获取图片文件夹路径
imgs = os.listdir(path)#获取该路径文件夹下的分类图片文件并以列表形式返回
for name in imgs:
img_list = os.path.join(path, name)#拼接路径名和图片分类名
img_list = os.listdir(img_list)
print(len(img_list))
#print ("img_list:", img_list)
i=1
for img in img_list: #历遍分类文件夹下每张图片
if img.endswith('.jpg'):
src = os.path.join(os.path.abspath(path), name, img)
#src = os.path.join(img)
print('原路径:', src)
dst = os.path.join(os.path.abspath(path), name,name + '_' + str(i) + '.jpg')
#dst = os.path.join(name + '_' + str(i) + '.jpg')
print('新名字:', dst)
try:
os.rename(src, dst)
print ('converting %s to %s ...' % (src, dst))
i = i + 1
except:
continue

train路径有若干分类文件夹 重命名后的文件命名

过程中遇到了(unicode error) ‘unicodeescape’ codec can’t decode bytes报错

原因在于path路径格式不对,开始我只是简单把路径复制进去,即

path = "F:\luanbo\xiao\\VOC\JPEGimages\test"


window 读取文件可以用\,但是在字符串中\是被当作转义字符来使用的,所以如果字符串中\接0,t,n之类组成\0,\t,\n会被识别成转移字符串造成对原路径无法识别,

解决办法

方式一:转义的方式

path = "F:\\luanbo\\xiao\\VOC\\JPEGimages\\test"

方式二:显式声明字符串不用转义

path = "F:r\luanbo\xiao\VOC\JPEGimages\test"

方式三:使用Linux的路径/

'd:/a.txt'
  • 点赞
  • 收藏
  • 分享
  • 文章举报
夏孤临 发布了6 篇原创文章 · 获赞 0 · 访问量 177 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐