为什么要写配置文件
在开发过程中,我们常常会用到一些固定参数或者是常量。对于这些较为固定且常用到的部分,往往会将其写到一个固定文件中,避免在不同的模块代码中重复出现从而保持核心代码整洁。
这个固定文件我们可以直接写成一个 . py文件,这样的好处就是能够在同一工程下直接通过import 来导入当中的部分;但如果我们需要在其他非 Python 的平台进行配置文件共享时,写成单个. py就不是一个很好的选择。
这时我们就应该选择通用的配置文件类型来作为存储这些固定的部分。目前常用且流行的配置文件格式类型主要有 ini、json、toml、yaml、xml等,这些类型的配置文件我们都可以通过标准库或第三方库来进行解析
ini即 Initialize 初始化之意,早期是在 Windows 上配置文件的存储格式。ini文件的写法通俗易懂,往往比较简单,通常由节(Section)、键(key)和值(value)组成,就像以下形式:
[ mysqldb]
host = 127.0 .0 .1
user = root
password = 123456
port = 3306
database = mysql
json格式可以说是我们常见的一种文件形式了,也是目前在互联网较为流行的一种数据交换格式。除此之外,json有时也是配置文件的一种。Python 内置了json标准库,可以通过load和loads方法来导入文件式和字符串的json内容。
{
"localdb" : {
"host" : "127.0.0.1" ,
"user" : "root" ,
"password" : "123456" ,
"port" : 3306 ,
"database" : "mysql"
} }
将上述内容保存为 db. json后进行读取和解析,json库读取 json 文件解析成python的字典对象。
yaml
yaml格式(或yml格式)是目前较为流行的一种配置文件
pip install pyyaml
mysql:
host: "127.0.0.1"
port: 3306
user: "root"
password: "root"
database: "test"
parameter:
pool_size: 5
charset: "utf-8"
name:
book: 朝花夕拾
books: 三体
将上述内容保存为 db. yaml后进行读取和解析
f= open ( 'db.yaml' , encoding= 'utf-8' )
data= f. read( )
print ( data)