#coding=utf8

'''

该模块是用来读取配置文件,

通过正则表达式来获取下载路径和保存路径。

文件初始化时打开文件并读取配置文件信息

主要包括三个函数:

getDownPath():用来获取下载路径

getSavePath():用来获取保存路径

getSavePath():用来关闭文件

'''

import re

import os

#获取文件的绝对路径

PATH = lambda p: os.path.abspath(

os.path.join(os.path.dirname(__file__), p)

)

class Config(object):

def __init__(self,configPath=PATH("..\config.xml")):

try:

#设置配置文件路径,前面的点表示运行脚本时的当前路径

#如果直接运行运行该脚本,要修改过为..\\config.xml

#self.configPath="E:\PythonDemo\AutonXQL_V1.0\config.xml"

self.configPath=configPath

#打开配置文件,并创建句柄,通过操作句柄可以操作文本信息

self.configHandler=open(self.configPath,"rb")

#读取配置文件中的文本信息

self.configInfor=self.configHandler.read()

except IOError,e:

#如果出现异常关闭文件

self.configHandler.close()

print e

def getDownPath(self):

#通过正则表达式获取下载文件的路径

#把路径放在一个list变量getdwpath中

getdwpath=re.findall('(.*)?', self.configInfor,re.S)

#返回下载文件的路径

return getdwpath[0]

def getSavePath(self):

#通过正则表达式保存报告文件的路径

#把路径放在一个list变量getsvpath中

getsvpath=re.findall("(.*)?", self.configInfor,re.S)

#返回保存报告文件的路径

return getsvpath[0]

def SetCmdImage(self):

setCmd=re.findall("(.*)?", self.configInfor,re.S)

return setCmd[0]

def RunErrorImage(self):

errorImage=re.findall("(.*)?", self.configInfor,re.S)

return errorImage[0]

def ExecResutlImage(self):

resultImage=re.findall("(.*)?", self.configInfor,re.S)

#返回保存报告文件的路径

return resultImage[0]

def getXQLCMD(self):

xqlcmd=re.findall("(.*)?", self.configInfor,re.S)

#返回保存报告文件的路径

return xqlcmd[0]

def getDiffPath(self):

xqlcmd=re.findall("(.*)?", self.configInfor,re.S)

#返回保存报告文件的路径

return xqlcmd[0]

def getRequirementDocPath(self):

xqlcmd=re.findall("(.*)?", self.configInfor,re.S)

#返回保存报告文件的路径

return xqlcmd[0]

def closeFile(self):

#关闭文件

self.configHandler.close()

def test():

path="E:\PythonDemo\AutonXQL_V1.0\config.xml"

'''

创建一个测试脚本,执行冒烟测试。

用来验证程序功能能正常运行。

在运行该程序时,需要修改self.configPath

如果没有修改,会出现异常信息。

'''

#创建一个Config对象实例

config=Config(path)

#通过实例调用方法获取下载路径并输出到屏幕

print config.getDownPath()

#通过实例调用方法获取文件保存路径并输出到屏幕

print config.getSavePath()

#通过实例调用方法获关闭文件

config.closeFile()

#通过实例调用属性获取配置文件路径并输出到屏幕

print config.configPath

print config.ExecResutlImage()

print config.getRequirementDocPath()

print config.getXQLCMD()

#判断函数是否直接运行该模块,如果直接运行该模块

#则自动执行test函数

if __name__=="__main__":

test()

python 绝对路径找不到文件_python获取文件绝对路径解决找不到文件句柄的问题实例(readConfig.py)V1.2...相关推荐

  1. python获取文件路径下的文件_python 获取文件下所有文件或目录os.walk()的实例

    在python3.6版本中去掉了os.path.walk()函数 os.walk() 函数声明:walk(top,topdown=True,oneerror=None) 1.参数top表示需要遍历的目 ...

  2. java读取hdfs文件夹_HDFS 读取、写入、遍历文件夹获取文件全路径、append

    1.从HDFS中读取数据 Configuration conf = getConf(); Path path = new Path(pathstr); FileSystem fs = FileSyst ...

  3. HDFS 读取、写入、遍历文件夹获取文件全路径、append

    版权声明:本文为博主原创文章,未经博主同意不得转载.安金龙 的博客. https://blog.csdn.net/smile0198/article/details/37573081 1.从HDFS中 ...

  4. jq监听input type=file发生改变,即选择文件,并获取文件名称

    jq监听input type="file"发生改变,即选择文件,并获取文件名称 <input id="fileupload" name="fil ...

  5. python相对路径找不到文件_Python里使用相对路径的坑

    过程 写了个脚本丢服务器里, 每次启动时都要去读取一个cache文件 open('table.cache', 'rb') 然后为脚本设置了一个软连接, 以后用search命名就能使用脚本了 ln -s ...

  6. python获取路径下所有文件_Python 之 glob读取路径下所有文件夹或文件方法

    在python中,glob模块是用来查找匹配的文件的 在查找的条件中,需要用到Unix shell中的匹配规则: * : 匹配所所有 ? : 匹配一个字符 *.* : 匹配如:[hello.txt,c ...

  7. python open可以打开什么类型文件_Python打开文件open()的注意事项

    原博文 2018-02-28 10:51 − 刚刚用open(fileName)来打开txt格式的文件,总是出现错误,总是找不到文件读取的内容,后来才发现是open()在使用过程中自动关闭了.这里介绍 ...

  8. python压缩文件夹下的所有文件_python压缩文件夹内所有文件为zip文件的方法

    这里讨论使用Python解压如下五种压缩文件: .gz .tar .tgz .zip .rar 简介gz: 即gzip,通常只能压缩一个文件.与tar结合起来就可以实现先打包,再压缩. tar: li ...

  9. python 抓取目录树_python 获取文件下所有文件或目录os.walk()的实例

    在python3.6版本中去掉了os.path.walk()函数 os.walk() 函数声明:walk(top,topdown=True,oneerror=None) 1.参数top表示需要遍历的目 ...

最新文章

  1. 吐血实践 三核就是强过双核
  2. 机会:新兴产业+大消费(转载)
  3. HighNewTech:支付宝全球首发5G手机,四大逆天功能(防骗三折叠气味识别自由飞)!
  4. Java代码优化思路(JVM的角度)
  5. redhat mysql tar_mysql5.7版本tar包手动安装---redhat7.0
  6. centos7修改ip地址命令_CentOS7 安装 httpd 服务
  7. 在各个PC端应用使用表情的快捷键,王大妈都开始用这个表情啦
  8. Sql 函数大全 (更新中...由难到简
  9. 最新Oracle 和 mysql 的对比参照----开发篇(转)
  10. node.js发送html,利用Node.JS实现邮件发送功能
  11. Mysql报错Fatal error occurred in the transaction branch - check your data for consistency
  12. kubernetes存储详解
  13. [JUC-2]AbstractQueuedSynchronizer源码分析
  14. jquery chosen插件的使用(搜索查询下拉列表,多选)
  15. 多媒体会议系统中的延迟
  16. python粒子特效_初试PyOpenGL四 (Python+OpenGL)GPU粒子系统与基本碰撞
  17. 今日恐慌与贪婪指数为15 恐慌程度有所上升
  18. Kotlin协程核心库分析-5 Job异常处理器注意点
  19. 35岁技术人如何转型做管理?mysql删除数据语句
  20. JSP+Servlet+Mysql企业财务管理系统设计与实现(附论文)

热门文章

  1. java怎么使两个界面联系_怎么样用java编写界面实现两个数的加法运算
  2. 在三个层次对Asp.Net的数据操作进行事务
  3. c++向量和数组的区别_Matlab入门基础知识(5)对数组的操作
  4. Python标准库socketserver实现UDP协议时间服务器
  5. Python在SQLite数据库中动态创建数据表的思路与实现
  6. Python列表模拟页面调度LRU算法(京东2016笔试题)
  7. 计算机课程教改论文,高职计算机教改的课程设计研究论文
  8. 逻辑与计算机科学之间有什么联系,数学、逻辑与计算机科学的关系
  9. python字典是什么数据结构_数据结构-Python 字典
  10. 通用计算机和嵌入式专用计算机例子,什么是嵌入式技术?