python 查找相应图片数据路径并调用exe程序
2016-03-25 13:29
513 查看
今天在处理实验室采集的图像数据的时候, 需要调用师兄的一个程序, 而师兄是将这个程序所需要处理的图片文件夹的路径写死在了exe文件里面, 导致每次计算一个文件夹中的图像数据的时候, 都需要重新编译一次, 非常费劲。
比较懒的我,于是想到, 是不是可以使用python, 将我所需要处理的图像文件夹提取出来, 然后把他们作为参数, 传递给师兄的程序呢?
于是我将师兄的exe程序重新编译了一下, 使他能够支持, 命令行参数。
然后使用python 的文件路径处理功能, 得到了相应的文件夹下, 所需要处理的文件夹的路径名称,使用python的 subprocess 模块的 Popen 调用exe, 实现了自动处理文件夹内子文件夹中图像数据的功能。
相应的待处理的文件夹格式:
代码如下:
比较懒的我,于是想到, 是不是可以使用python, 将我所需要处理的图像文件夹提取出来, 然后把他们作为参数, 传递给师兄的程序呢?
于是我将师兄的exe程序重新编译了一下, 使他能够支持, 命令行参数。
然后使用python 的文件路径处理功能, 得到了相应的文件夹下, 所需要处理的文件夹的路径名称,使用python的 subprocess 模块的 Popen 调用exe, 实现了自动处理文件夹内子文件夹中图像数据的功能。
相应的待处理的文件夹格式:
代码如下:
#coding:utf-8 ''' Created on 2016-3-25 description : 当前处理文件夹格式: 20160323 图片数据 ie, 有一个大的文件夹, 进入之后, 有left, right 两个相机分别拍摄的图像数据的文件夹 进入 left 文件夹, 下面有多个文件夹, 每个文件夹中存放拍摄的不同工位的图像数据, right 也类似 @author: ThinkPad User ''' import os import subprocess # 查找所需要处理的所有子文件夹的路径 class CFindDirs(): ''' classdocs ''' ExeName = '' __targetDir = '' def __init__(self): ''' Constructor ''' self.ExeName = r'E:\system dir\Desktop\core_functions_dll\Release\core_functions_dll.exe' self.__targetDir = 'E:\\system dir\\Desktop\\20160323_816_960\\' ########################################## ### 输入一个合法路径 ### 输出路径下所有文件夹的名称列表 ######################################### def __getSubDirs(self, path): if os.path.isdir(path) == False: print '当前输入路径有错误, 请重新设置' return listDirs = os.listdir(path) listDirs_filter = [] for subdir in listDirs: subdir_path = os.path.join(path, subdir) if os.path.isdir(subdir_path) == False: continue listDirs_filter += [subdir_path] return listDirs_filter ########################################## ### 输出路径下 所有图像文件夹的名称 ######################################### def setTargetDirPaths(self): if os.path.isdir(self.__targetDir) == False: print '当前输入路径有错误, 请重新设置' return listDirs = [] listDirsLeft = self.__getSubDirs(self.__targetDir + 'left') listDirsRight = self.__getSubDirs(self.__targetDir + 'right') listDirs += listDirsLeft listDirs += listDirsRight return listDirs if __name__ == '__main__': s = CFindDirs() listPath = s.setTargetDirPaths() for subdir in listPath: print '当前正在处理:' + subdir cmd = '\"' + s.ExeName + '\"' + ' ' + '\"' + subdir + '\"' ## 并发调用 subprocess.Popen(cmd)
相关文章推荐
- Python collections.defaultdict()
- Python的禅,“提姆彼得斯”说的非常有道理道出了这门编程语言的真谛!
- Python学习笔记(三)Python的list和tuple
- python 静态成员变量
- python函数——编码问题——str与Unicode的区别
- 01python初识—编辑器&版本&变量知识
- Python学习笔记(四)Python函数的参数
- Python关键字总结
- 通过抓包获取跳转url并通过dnspython模块查询监控服务是否正常
- Python学习:Flask框架和jinja2模板
- bat调用python命令
- numpy.zeros(shape, dtype=float, order='C')
- numpy.ones(shape, dtype=None, order='C')
- Python 正则表达式的剖析
- python3安装Fabric模块
- python glob使用
- leetcode @python 120. Triangle
- 重装python idle打不开解决方案
- leetcode @python 119. Pascal's Triangle II
- python2.7:str unicode 详解