最新公告
  • 欢迎您光临网站无忧模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • python怎么读取配置文件

    正文概述    2020-08-24   278

    python怎么读取配置文件

    configparser模块在python中用来读取配置文件,配置文件的格式跟windows下的ini配置文件相似,可以包含一个或多个节点(section), 每个节可以有多个参数(键=值)。使用的配置文件的好处就是不用把程序写死,可以使程序更灵活。

    1、创建配置文件

    一般将配置文件创建在config包下,配置文件最好使用.ini格式,示例如下:

    [LoginElement]   #节点(section)
    user_name=id>logInName     #其中id决定了通过哪种方式进行定位
    user_password=id>password
    code_image=id>verifyCode
    code_text=id>verifyCodeInput
    submit=id>submitForm
    [mysql]          #节点(section)
    host=id>127.0.0.1
    port=id>3306
    user=id>root
    password=id>123456

    2、读取配置文件

    cf=configparser.ConfigParser()   #创建对象
    cf.read('D:\liantuo\seleniumTest\config\LocalElement.ini',encoding='UTF-8')   #读取配置文件,直接读取ini文件内容
    print(cf.sections())         #获取ini文件内所有的section(节点),以列表形式返回
    print(cf.options("LoginElement"))   #获取指定sections下所有options (key),以列表形式返回
    print(cf.items('LoginElement'))     #获取指定section下所有的键值对(key-value)
    print(cf.get('LoginElement','user_name'))   #获取section中option的值,返回为string类型
    getint(section,option)  #返回int类型
    getfloat(section, option)  #返回float类型
    getboolean(section,option) #返回boolen类型

    *注意:读取配置文件时参数添加encoding='UTF-8' ,防止(UnicodeDecodeError: 'gbk' codec can't decode byte 0x80 in position 15: illegal multibyte sequence)

    对应输出

    ['LoginElement', 'mysql']
    ['user_name', 'user_password', 'code_image', 'code_text', 'submit']
    [('user_name', 'id>logInName'), ('user_password', 'id>password'), ('code_image', 'id>verifyCode'), ('code_text', 
    'id>verifyCodeInput'), ('submit', 'id>submitForm')]
    id>logInName

    3、重构封装

    class ReadIni(object):
         # 构造函数
        def __init__(self,file_name=None,node=None):
            '''
            :param file_name:配置文件地址
            :param node: 节点名
            '''
            #容错处理
            if file_name == None:
                #默认地址
                file_name = 'D:\liantuo\seleniumTest\config\LocalElement.ini'
            else:
                self.file_name=file_name
            if node == None:
                #默认节点
                self.node = "LoginElement"
            else:
                self.node = node
            self.cf = self.load_ini(file_name)
        #加载文件
        def load_ini(self,file_name):
            cf = configparser.ConfigParser()
            cf.read(file_name,encoding='utf-8')
            return cf
        #获取value得值
        def get_value(self,key):
            data = self.cf.get(self.node,key)
            return data
    #主入口,相当于java的main方法
    if __name__ == '__main__':
        #自定义
        # path=r'E:\Pythonx\seleniumTest\config\testIni.ini'   #注意r
        # read_init = ReadIni(file_name=path,node='testa')   #传入新自定义配置文件地址、节点
        # print(read_init.get_value('ji'))    #获取value值
        #默认
        read_init = ReadIni()   #默认配置文件地址、节点
        print(read_init.get_value('user_name'))  #传入key值,获取value

    python学习网,免费的在线学习python平台,欢迎关注!


    下载网 » python怎么读取配置文件

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元