在程序运行使用当中,尤其是框架设计中,配置文件是必不可少的,配置文件的存在能够放置参数或者选项设置,使得程序更加灵活可用,下面就来介绍 Python 读取配置文件的常用方法。
常用的配置文件种类有很多,甚至你可以用txt来作为配置文件,放置参数,这里简单介绍一下ini、yaml、env配置文件的读取常用方法,仅供参考。
ini 配置文件
ini 配置文件适合放置公共环境中,尤其适合放置配置参数,注意section的名称不可以重复,注释用分号开头。
ini 文件格式
配置文件的格式如下:
中括号“[ ]”内包含的为section。
section 下面为类似于key-value 的配置内容,一般是用赋值符“=”分隔。
;注意section的名称不可以重复,注释用分号开头。
[root] ; section名称
name = PythonSEO
pass = SEO
[database] ; section名称
host = localhost
port = 3306
user = root
password = 123456
ini 配置文件读取方法
ini 配置文件读取使用 Python 自带的configparser库来读取ini文件。
# -*- 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 配置文件
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
yaml 配置文件读取方法
yaml 配置文件读取使用 Python 自带的yaml库来读取yaml文件。
# -*- 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 配置文件
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"}
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,写作,阅读的内容噢~
扫一扫下方二维码即可关注我噢~
关注我的都变秃了
说错了,都变强了!
不信你试试
扫码关注最新动态
公众号ID:eryeji