python批量修改图片后缀名

来源:互联网 发布:php邮箱正则表达式 编辑:程序博客网 时间:2024/05/17 08:03

在处理数据集的过程中我们常常需要改变图片的格式,记录一下改变图片后缀名的几个函数


import os

os.path.splitext() : 用于分离文件名和扩展名

os.path.splitext(image)[0] : 获取image的文件名

os.path.splitext(image)[1]: 获取image的扩展名

fpath, fname=os.path.split(dstfile)  分离文件名和路径


import shutil

shultil.move(srt, dst)  移动文件到对应的目录下

shutil.copyfile(srt, dst)  复制文件到对应的目录下

#coding=utf-8    import shutil  #复制移动文件,修改文件权限等的包    shutil.copy('aa.txt','aa_copy.txt')  #复制文件,复制文件夹用 copytree    shutil.move('aa_copy.txt','abc.txt')  #移动文件或目录或重命名。 rmtree()删除目录下的所有# -*- coding: utf-8 -*-#!/usr/bin/python#test_copyfile.pyimport os,shutildef mymovefile(srcfile,dstfile):    if not os.path.isfile(srcfile):        print "%s not exist!"%(srcfile)    else:        fpath,fname=os.path.split(dstfile)    #分离文件名和路径        if not os.path.exists(fpath):            os.makedirs(fpath)                #创建路径        shutil.move(srcfile,dstfile)          #移动文件        print "move %s -> %s"%( srcfile,dstfile)def mycopyfile(srcfile,dstfile):    if not os.path.isfile(srcfile):        print "%s not exist!"%(srcfile)    else:        fpath,fname=os.path.split(dstfile)    #分离文件名和路径        if not os.path.exists(fpath):            os.makedirs(fpath)                #创建路径        shutil.copyfile(srcfile,dstfile)      #复制文件        print "copy %s -> %s"%( srcfile,dstfile)srcfile='/Users/xxx/git/project1/test.sh'dstfile='/Users/xxx/tmp/tmp/1/test.sh'mymovefile(srcfile,dstfile)python文件操作: 有关文件夹与文件的查找,删除等功能 在 os 模块中实现。使用时需先导入这个模块,导入的方法是:import os1、将一个路径名分解为目录名和文件名两部分fpath , fname = os.path.split( "你要分解的路径")例如:a, b = os.path.split( "c:\\123\\456\\test.txt" )print aprint b显示:c:\123\456test.txt 2、 分解文件名的扩展名fpathandname , fext = os.path.splitext( "你要分解的路径")例如:a, b = os.path.splitext( "c:\\123\\456\\test.txt" )print aprint b显示:c:\123\456\test.txt文件操作还有很多有用的函数,可以通过查找手册来看。import osos.makedirs(fdir)  创建目录文件夹打开图片保存图片需要使用PIL库from PIL import Imageim = Image.open(jpg)png = splitext(jpg)[0]+"." + pngim.save(png)获取某路径下的所有文件可以使用glob模块import globfiles = glob.glob(filename)  ##filename是目录文件名在python中,glob模块是用来查找匹配的文件的,在查找的条件中,需要用到Unix shell的匹配规则: *    :   匹配所所有         ?    :   匹配一个字符       *.*  :   匹配如:[hello.txt,cat.xls,xxx234s.doc]       ?.*  :   匹配如:[1.txt,h.py]       ?.gif:   匹配如:[x.gif,2.gif]    可以参考:fnmatch    如果没有匹配的,glob.glob(path)将返回一个空的list:[]也就说:glob是用来寻找文件的。某种命名规则的文件的。