python 批量处理给文件夹重命名后转存到另一个文件夹中

python 批量处理给文件夹重命名后转存到另一个文件夹中,有两个方法,一个是使用os.rename,一个是shutil.copy,两个方法的效果不一样,之间上代码吧。我的代码实现两个功能:

①对A1文件夹下pic文件里的图片进行重命名

②从A文件夹下的labelme_json文件中提取json文件并重命名放入A1文件夹下的labelme_json文件里。

import os
import shutil
# pic图片路径
apicpath=r'H:/A1/pic'

# json文件夹路径
jsonpath=r'H:/A/labelme_json'

#要存放 json文件夹路径
jsonpath1=r'H:/A1/labelme_json'
 
j=46100
for i in range(0,11525):
    # 判断该路径下的文件是否为图片
    print(i,'对应',i+j)
    json_name=str(i)+'_json'
    pic_name=str(i)+'.png'

#对pic重命名
    pic_src=os.path.join(os.path.abspath(picpath),pic_name)
    pic_dst=os.path.join(os.path.abspath(picpath),str(i+j)+'.png')
    os.rename(pic_src,pic_dst)
#json重命名   
    json_file_path=os.path.join(jsonpath,json_name)
    new_json_name=json_name.replace(json_name,str(i+j)+'_json')
    new_json_path=os.path.join(jsonpath1,new_json_name)
    shutil.copytree(json_file_path,new_json_path)

可以看出os.rename是在同一个文件下,对图片进行重命名,这样就可以实现①的需求了;

当然os.rename也可以实现②的需求,但是会删除了A文件下的labeleme_json下原名的文件夹,这里我不附上代码了,可以参考https://blog.csdn.net/t8116189520/article/details/80385665该博客,而我是要保留原文件夹下的文件,这样就可以shutil.copytree了,其实方法都很简单,我的代码是把两个功能合并在一起,也可以分开。

也有的需求是取出A文件下的pic文件里的图片并重名并放到A1下的pic文件夹里,这个不可以用shutil.copytree了,将shutil.copytree换成shutil.copy就可以了,我这里就是记录一下,方便以后自己使用。

你可能感兴趣的:(学习)