Python配置文件

python的配置文件形式:

1、python模块,py文件作为配置的文件

2、yaml文件,.yaml,.yml

3、.ini文件,.conf文件

使用目的是为了方便,管理整个项目中的静态数据

1、代码示例

py文件

1.1 config.py

logger_name = 'python_api'
logger_level = 'DEBUG'
logger_file = 'log_my.txt'

使用的时候直接导入这个模块,模块名.变量名

logger = LoggerHandler(config.logger_name, config.logger_level, config.logger_file)

1.2 把变量封装到类里面,方便继承和修改

class LoggerConfig():
    logger_name = 'python_api'
    logger_level = 'DEBUG'
    logger_file = 'log_my.txt'
    
    
class ProductLoggerConfig(LoggerConfig):
    logger_level = 'WARNING'

2、yaml文件,.yaml,.yml

yaml是第三方库,需要单独安装,PyYAML

api.yaml

logger:
  name: python_api
  level: DEBUG
  file: log_my.txt

excel:
  file: cases.xlsx
  sheet: login

request:
  method: post

demo:
- 测试
- hello

使用方式

test_yaml.py

import yaml

f = open('api.yaml')
data = yaml.load(f.read(), Loader=yaml.FullLoader)
print(data)

返回的是字典格式数据

{'logger': {'name': 'python_api', 'level': 'DEBUG', 'file': 'log_my.txt'}, 'excel': {'file': 'cases.xlsx', 'sheet': 'login'}, 'request': {'method': 'post'}, 'demo': ['测试', 'hello']}

数组的表示方式 -

demo:
- 测试
- hello

封装yaml读取和写入


import yaml


class YamlConfig(object):
    def __init__(self):
        pass

    def read_yaml(self, file, encoding='utf-8'):
        with open(file, encoding=encoding) as f:
            return yaml.load(f.read(), Loader=yaml.FullLoader)

    def write_yaml(self, file, wtdata, encoding='utf-8'):
        with open(file, encoding=encoding, mode='w') as f:
            yaml.dump(wtdata, stream=f, allow_unicode=True)


if __name__ == '__main__':
    ya = YamlConfig()
    data = (ya.read_yaml('api.yaml'))
    print(data)
    ya.write_yaml('api111.yaml', data)

3、.ini读取的数据类型是str,但是现在很少用了

  • 3
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

NeilNiu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值