您的位置:首页 > 编程语言 > Python开发

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

2017-04-22 00:00 901 查看
#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('<Download>(.*)?</Download>', self.configInfor,re.S)
#返回下载文件的路径
return getdwpath[0]

def getSavePath(self):
#通过正则表达式保存报告文件的路径
#把路径放在一个list变量getsvpath中
getsvpath=re.findall("<SavePath>(.*)?</SavePath>", self.configInfor,re.S)
#返回保存报告文件的路径
return getsvpath[0]

def SetCmdImage(self):
setCmd=re.findall("<SetCmdImage>(.*)?</SetCmdImage>", self.configInfor,re.S)
return setCmd[0]

def RunErrorImage(self):
errorImage=re.findall("<RunErrorImage>(.*)?</RunErrorImage>", self.configInfor,re.S)
return errorImage[0]

def ExecResutlImage(self):
resultImage=re.findall("<ExecResutlImage>(.*)?</ExecResutlImage>", self.configInfor,re.S)
#返回保存报告文件的路径
return resultImage[0]

def getXQLCMD(self):
xqlcmd=re.findall("<XQLCmd>(.*)?</XQLCmd>", self.configInfor,re.S)
#返回保存报告文件的路径
return xqlcmd[0]

def getDiffPath(self):
xqlcmd=re.findall("<DiffPath>(.*)?</DiffPath>", self.configInfor,re.S)
#返回保存报告文件的路径
return xqlcmd[0]

def getRequirementDocPath(self):
xqlcmd=re.findall("<RequirementDoc>(.*)?</RequirementDoc>", 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()
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐