Python Os、glob、cv模块整理

os模块

os模块主要是涉及文件处理

os.listdir(dirname):列出dirname下的目录和文件

os.getcwd():获得当前工作目录

os.curdir:返回当前目录('.')

os.chdir(dirname):改变工作目录到dirname

os.path.isdir(name):判断name是不是一个目录,name不是目录就返回false

os.path.isfile(name):判断name是不是一个文件,不存在name也返回false

os.path.exists(name):判断是否存在文件或目录name

os.path.getsize(name):获得文件大小,如果name是目录返回0

os.path.abspath(name):获得绝对路径

os.path.abspath('test.csv') 
'C:\\Python25\\test.csv' 

os.path.normpath(path):规范path字符串形式

os.path.split(name):分割文件名与目录(事实上,如果你完全使用目录,它也会将最后一个目录作为文件名而分离,同时它不会判断文件或目录是否存在)

os.path.splitext():分离文件名与扩展名

os.path.join(path,name):连接目录与文件名或目录

os.path.basename(path):返回最后的文件名

 os.path.split('c:\\csv\\test.csv') 
('c:\\csv', 'test.csv') 
os.path.split('c:\\csv\\') 
('c:\\csv', '') 

os.path.dirname(path):返回文件路径

os.path.dirname('c:\\csv\test.csv') 
'c:\\' 
os.path.dirname('c:\\csv') 
'c:\\' 

glob模块

glob.glob

返回所有匹配的文件路径列表。它只有一个参数pathname,定义了文件路径匹配规则,这里可以是绝对路径,也可以是相对路径。下面是使用glob.glob的例子:

import glob
 
#获取指定目录下的所有图片
print glob.glob(r"E:/Picture/*/*.jpg")
 
#获取上级目录的所有.py文件
print glob.glob(r'../*.py') #相对路径

glob.iglob

获取一个可遍历对象,使用它可以逐个获取匹配的文件路径名。与glob.glob()的区别是:glob.glob同时获取所有的匹配路径,而glob.iglob一次只获取一个匹配路径。这有点类似于.NET中操作数据库用到的DataSet与DataReader。下面是一个简单的例子:

import glob
 
#父目录中的.py文件
f = glob.iglob(r'../*.py')
 
print f 
 
for py in f:
    print py

cv模块

cv模块相当于OpenCV在python上一个包,下面一段程序用到了cap = cv.VideoCapture(fn)
ret,frame = cap.read()读取视频数据和 cv.imwrite存取图片数据。

def save_img(dname, fn, i, frame):
    cv.imwrite('{}/{}_{}_{}.png'.format(
        out_dir, os.path.basename(dname),
        os.path.basename(fn).split('.')[0], i), frame)
 
out_dir = 'E:/images'
if not os.path.exists(out_dir):
    os.makedirs(out_dir)
for dname in sorted(glob.glob('E:/毕设/数据集/datasize caltech/set*')):
    for fn in sorted(glob.glob('{}/*.seq'.format(dname))):
        cap = cv.VideoCapture(fn)
        i = 0
        m=0;
        while True:
            ret,frame = cap.read()
            if not ret:
                break
            save_img(dname, fn, i, frame)
            i += 1
        print(fn)
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • os.path.abspath(path) #返回绝对路径,和realpath有区别,realpath是返回文件真...
    jova_y阅读 4,206评论 0 1
  • Python的标准库中的os模块包含普遍的操作系统功能。如果你希望你的程序能够与平台无关的话,这个模块是尤为重要的...
    此番风景阅读 2,860评论 0 1
  • Pythos中调用操作系统的模块,提供对操作系统进行调用的接口 API方法 os.getcwd() 获取当前工作目...
    So_ProbuING阅读 6,729评论 0 4
  • 参考:http://blog.csdn.net/wuce_bai/article/details/50827393...
    Babyzpj阅读 4,314评论 0 0
  • os.path.abspath(path) #返回绝对路径 os.path.basename(path) #返回文...
    qtruip阅读 8,035评论 1 4

友情链接更多精彩内容