python中yaml文件&ini文件封装

用函数实现yaml文件的封装

yaml文件

host: 'http://www.baidu.com'
port: 8080
db:
  host: 122.131.11.10
  port: 3306
users:
  -
    username: 'jiajia'
    password: 123456
  -
    username: 'huahua'
    password: 123456
import yaml
import logging
'''
1、封装 yaml 文件读取为函数
思路:导入yaml包,打开yaml文件进行读取,将读取后的数据返回
'''
print('-------------第一题---------------')
#定义函数:
def get_yaml_data(filename):
    #判断文件是否存在:
    try:
         with open(filename,encoding='utf-8') as rstream:
            data=yaml.load(rstream,yaml.SafeLoader)
         return data
    except FileNotFoundError:
       #print('文件不存在',err)
       logging.error("文件不存在")
    except TypeError:
        logging.error('无法获取到文件中的内容')
    except Exception:
        #print("文件出错啦。。")
       logging.error('出错啦。。。')
#调用函数
if __name__ == '__main__':
    yaml_data=get_yaml_data('test.yaml')
    print(yaml_data)
    # #获取db的host和port
    print(yaml_data['db']['host'])#122.131.11.10
    print(yaml_data['db']['port'])#3306
    # #获取users的第一个用户名和密码
    # print(yaml_data['users'][0]['username'])#jiajia

用函数实现ini文件的封装

ini文件

[default]
host=http://www.baidu.com
port=7890
[db]
host=172.14.11.10
port=3306
from configparser import ConfigParser
#定义函数
def get_ini_data(filename,section,parse):
    #初始化一个解析对象
    parser=ConfigParser()
    #判断解析的文件是否存在
    try:
        #解析对象读取文件
        parser.read(filename,encoding='utf-8')
        #获取某个区域的配置
        section_parse=parser.get(section,parse)
        return section_parse
    except FileNotFoundError:
        #print('文件不存在', err)
        logging.error('文件不存在')
    except Exception:
        #print("文件出错啦。。")
        logging.error('出错啦。。。')

#调用函数
if __name__ == '__main__':

    ini_data=get_ini_data('test.ini','default','host')
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值