Python:定义自己的ConfigParser

在Selenium项目实践中,为处理页面不同的link,button等页面元素,最好把这些页面元素和对应的Xpath写入配置文件,本文试图创建一个自定义的ConfigParser,处理配置文件的解析。

虽然是很小的一个类,但也从中学习到很多东东。

主要分三步:

1. 得到配置文件的路径

一般来说文件解析类会放在commonfunction目录下,而配置文件会放在同级的configuration目录下

在Python 中获得当前路径,使用os.getcwd()
或者os.path.abspath(os.curdir),print os.path.abspath('.')
要获得上级目录的路径使用os.path.abspath('..')。

这样我们在使用os.path.join方法就可以得到配置文件所在目录。

2. 使用get方法得到每个section的option,这里参考了limodou多年前的一篇文章

3. 调用

在这里学会了如何导入上层目录中模块或其他目录(平级)下的模块,引用之前要先把上层目录加到sys.path中

   import sys
   sys.path.append("..")

完整代码如下,写的有点烂,请各位多指教。

 

代码
#!/usr/bin/env python
#
coding=utf-8

import os
import sys
from ConfigParser import ConfigParser, NoOptionError, NoSectionError

class Parser(ConfigParser):
    
    
def __init__(self, inifile, encoding=None):
        ConfigParser.
__init__(self)
        self.inifile
=inifile
        self.encoding 
= encoding
        
if inifile:
            self.read(inifile)

                
    
def get(self, sec, option, default=None):
        
"""Get an option value for given section or return default"""
        
if self.has_option(sec, option):
            
return ConfigParser.get(self, sec, option, raw=0, vars=None)
        
else:
            
return default
    
    
def get_file_path(self, file):
        path 
= os.path.join(os.path.abspath(".."), "configuration")
        
return os.path.join(path, file)

 

 


 

posted @ 2010-06-08 13:23  小楼  阅读(2300)  评论(0编辑  收藏  举报