• 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)


     

    作者:Shane
    出处:http://bluescorpio.cnblogs.com
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    ArcMap导出图层属性为excel表
    ArcMap面转为线
    vue(18)声明周期函数
    geoserver发布mbtiles文件
    docker部署geoserver
    vue(17)组件插槽slot的使用
    vue(16)父子组件之间直接相互访问
    MySQL常用查询语句积累
    数据库的基本设计
    HashMap学习
  • 原文地址:https://www.cnblogs.com/bluescorpio/p/1752886.html
Copyright © 2020-2023  润新知