一文解析 Python 读取配置文件的常用方法!

在程序运行使用当中,尤其是框架设计中,配置文件是必不可少的,配置文件的存在能够放置参数或者选项设置,使得程序更加灵活可用,下面就来介绍 Python 读取配置文件的常用方法。

常用的配置文件种类有很多,甚至你可以用txt来作为配置文件,放置参数,这里简单介绍一下ini、yaml、env配置文件的读取常用方法,仅供参考。

ini 配置文件

ini 配置文件适合放置公共环境中,尤其适合放置配置参数,注意section的名称不可以重复,注释用分号开头。

  1. ini 文件格式

配置文件的格式如下:

中括号“[ ]”内包含的为section。

section 下面为类似于key-value 的配置内容,一般是用赋值符“=”分隔。

;注意section的名称不可以重复,注释用分号开头。
[root] ; section名称
name = PythonSEO
pass = SEO

[database] ; section名称
host = localhost
port = 3306
user = root
password = 123456
  1. ini 配置文件读取方法

ini 配置文件读取使用 Python 自带的configparser库来读取ini文件。

b9193607946568eb2c7e9c660a924db7.png

# -*- coding: UTF-8 -*-
#@author:huguo00289
from configparser import ConfigParser

conf = ConfigParser()
conf.read("root.ini")

name = conf.get("root", "name")
passw = conf.get("root", "passw")
password=conf.getint("database", "password")
print(name, type(name))
print(passw, type(passw))
print(password, type(password))

print(conf.sections())    # 输出:['root', 'database']
print(conf['database']['host'])    # 输出:localhost
print(conf['database']['port'])    # 输出:3306
print(conf['database']['user'])    # 输出:root
print(conf['database']['password'])    # 输出:123456

yaml 配置文件

  1. yaml 文件格式 AML(YAML Ain't Markup Language)是一种人类可读的数据序列化语言。YAML(YAML Ain't Markup Language)支持多种数据类型,包括字符串、数字、布尔值、列表、字典和空值。

;注意section的名称不可以重复,注释用分号开头。
[root] ; section名称
name = PythonSEO
pass = SEO

[database] ; section名称
host = localhost
port = 3306
user = root
password = 123456
  1. yaml 配置文件读取方法

yaml 配置文件读取使用 Python 自带的yaml库来读取yaml文件。

0f2f3dfdd2a06a6031a649f3b85e48a3.png

# -*- coding: utf-8 -*-
import yaml

#方式一
with open("root.yaml", encoding="utf-8") as yaml_file:
    data = yaml.safe_load(yaml_file)

print(data["root"])
print(data["mysql"])
print(data["root"][0]['name'])
print(data["mysql"][0]['host'])

#方式二
# 使用open()函数读取config.yaml文件
yaml_file = open("root.yaml", "r", encoding="utf-8")
# 读取文件中的内容
file_data = yaml_file.read()
# 加载数据流,返回字典类型数据
config = yaml.load(file_data, Loader=yaml.FullLoader)
print(config)

env 配置文件

  1. env 文件格式

env --- 全局默认配置文件,在所有的环境中被载入,当你指定了环境,它也会合并,并且优先级大于.env,没有指定环境时先找它。

.env.development --- 指定开发环境的配置文件。

.env.production --- 指定生产环境的配置文件,当 build 运行会触发此文件。

# 注释1
KEY1=value1
# 注释2
KEY2=value2

ADMIN_HOST = https://uat-rm-gwaaa.cn
ADMIN_LOGIN_ROUTE = /api/rm/auth/admin/login
ADMIN_LOGIN_DATA = {"phone":"13922221111","password":"6d614954ed51"}
  1. env 配置文件读取方法

在 Python 中,可以使用 第三方库 dotenv 库来读取 .env 文件中的环境变量。该库提供了两个主要的函数:load_dotenv() 和 dotenv_values()。

from dotenv import load_dotenv

#方式一:
# 加载.env文件
load_dotenv()

# 在代码中使用环境变量
import os
key1 = os.environ.get("KEY1")
key2 = os.environ.get("KEY2")

方式二:
from dotenv import load_dotenv, find_dotenv
from pathlib import Path

# 自动搜索.env文件
load_dotenv(verbose=True)
# 等价与上面写法
load_dotenv(find_dotenv(),verbose=True)
# 指定env文件
load_dotenv(find_dotenv(Path.cwd().joinpath('root.env')))

import os

print(os.getenv('ADMIN_HOST'))

·················END·················

你好,我是二大爷,

革命老区外出进城务工人员,

互联网非早期非专业站长,

喜好python,写作,阅读,英语

不入流程序,自媒体,seo . . .

公众号不挣钱,交个网友。

读者交流群已建立,找到我备注 “交流”,即可获得加入我们~

听说点 “在看” 的都变得更好看呐~

关注关注二大爷呗~给你分享python,写作,阅读的内容噢~

扫一扫下方二维码即可关注我噢~

ba1de0bd887704277b72c571dc84cdde.jpeg

0cf256407a57a72c4f94b03a9d81479f.png

关注我的都变秃了

说错了,都变强了!

不信你试试

ffdc3bd652f094bdbe14d429f3c21cc9.jpeg

扫码关注最新动态

公众号ID:eryeji

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值