在处理数据集的过程中我们常常需要改变图片的格式,记录一下改变图片后缀名的几个函数
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是用来寻找文件的。某种命名规则的文件的。