在处理数据集的过程中我们常常需要改变图片的格式,记录一下改变图片后缀名的几个函数
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.py import os,shutil def 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 os 1、将一个路径名分解为目录名和文件名两部分 fpath , fname = os.path.split( "你要分解的路径") 例如: a, b = os.path.split( "c:\\123\\456\\test.txt" ) print a print b 显示: c:\123\456 test.txt 2、 分解文件名的扩展名 fpathandname , fext = os.path.splitext( "你要分解的路径") 例如: a, b = os.path.splitext( "c:\\123\\456\\test.txt" ) print a print b 显示: c:\123\456\test .txt 文件操作还有很多有用的函数,可以通过查找手册来看。 import os os.makedirs(fdir) 创建目录文件夹 打开图片保存图片需要使用PIL库 from PIL import Image im = Image.open(jpg) png = splitext(jpg)[0]+"." + png im.save(png) 获取某路径下的所有文件可以使用glob模块 import glob files = 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是用来寻找文件的。某种命名规则的文件的。