#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...