Python程序打包指南:手把手教你一步步完成

Python中什么是配置文件,配置文件如何使用,有哪些支持的配置文件等内容,话不多说,让我们一起看看吧~

1 什么是配置文件?

配置文件是用于配置计算机程序的参数和初始化设置的文件,如果没有这些配置程序可能无法运行或是影响运行(运行速度、便捷性等),使用配置文件的好处在于,部分内容以及环境运行时只需要修改配置文件的参数内容,而无需去代码里查找并修改,提高便捷性、提高可维护性。

2 配置文件有哪几种?

配置主要有四种形式:

  1. 第一种是YAML、JSON、XML、TOML、INI、Linux系统中的.bashrc一类,主要应用于软件测试领域,在软件测试的领域行业中,大多数公司采用最新的YAML形式来作为配置文件,例如数据库地址、用例数据等内容的存放,而少部分公司仍然采用旧的INI配置形式
  2. 第二种是excel表格的形式,在excel表格中会有固定的title代表每个字段列的含义,有多列,以此来进行配置,多用于游戏领域中,在游戏行业大量使用excel表格的形式,已经是一个常态了。
  3. 第三种是py文件,py文件对于一个纯Python项目而言是非常方便的,它不需要做数据的读取操作,只需要进行导入即可,不好的点在于,没有YAML这一类灵活,YAML配置文件无论是Python、Java等语言,都是支持的,且数据类型支持很多,而py的配置文件,就只能用作于python,有一定的局限性。
  4. 第四种是txt文本格式,通过读取的方式来识别到txt文本内容,通常而言是测开或者测试工程师制作的简便工具,供给业务层面的测试人员进行使用,降低了YAML这种配置的理解难度,也避免了打开excel的缓慢,用轻量级txt来代替是一个不错的选择。

2.1 ini

python3自带的ini
.ini 文件是Initialization File的缩写,即初始化文件,是windows的系统配置文件所采用的存储格式,统管windows的各项配置

2.1.1 ini文件的定义

.ini 文件通常由节(Section)、键(key)和值(value)组成。具体形式如下:

db.ini
[mysql]
host = 127.0.0.1
port = 3306
user = root
password = 123456
database = test

2.1.2 python读取ini文件

使用python内置的 configparser 标准库进行解析ini文件。
read() 读取文件内容 items() 获取指定节的所有键值对

# -*- coding: utf-8 -*-
'''
 * @Author       : wxy
 * @Date         : 2022-08-24 11:11:06
 * @Description  : 读取ini文件
 * @LastEditTime : 2022-08-24 11:11:06
'''
from configparser import ConfigParser
from pprint import pprint
import pymysql

# ini文件路径
ini_file = './db.ini'
# 读取ini的节(Section)
db_name = 'mysql'

# configparser实例化
text = ConfigParser()

# 读取ini文件内容
text.read(ini_file)

# text.items()返回list,元素为tuple,元组格式为 key,value
db_tuple = text.items(db_name)
print(db_tuple)

# 将元组转换成dict
db_dict = dict(text.items(db_name))
print(db_dict)

2.2 json

JSON(JavaScript Object Notation,) 是一种轻量级的数据交换格式。

2.2.1 json文件的定义

简单的json示例

  {
        "mysql": {
            "host": "127.0.0.1",
            "port": 3306,
            "user": "root",
            "password": "123456",
            "database": "test"
        }
    }

2.2.2 python读取json文件

load() 从json文件中读取json格式数据
loads() 将字符串类型数据转化为json格式数据
dump() 将json格式数据保存到文件
dumps() 将json格式数据保存为字符串类型

# -*- coding: utf-8 -*-
'''
 * @Author       : wxy
 * @Date         : 2022-8-24 11:39:44
 * @Description  : 读取json文件
 * @LastEditTime : 2022-8-24 11:39:44
'''

import json
from pprint import pprint
import pymysql

json_file = "./db.json"
db_name = "mysql"
web = "web"

with open(json_file) as f:
    cfg = json.load(f)[db_name]
    print(cfg)

with open(json_file) as f:
    cfg = json.load(f)[web]
    print(cfg['user'])

2.3 toml

TOML 是 Github 联合创始人 Tom Preston-Werner 所提出的一种配置文件格式,是一种旨在成为一个小规模、易于使用的语义化的配置文件格式,它被设计为可以无二义性的转换为一个哈希表。

2.3.1 定义toml文件

语法:
TOML的语法广泛地由key = “value”、[节名]、#注释构成。
支持以下数据类型:字符串、整形、浮点型、布尔型、日期时间、数组和图表。

 # db.toml
[mysql]
    [mysql.config]
    host     = "127.0.0.1"
    user     = "root"
    port     = 3306
    password = "123456"
    database = "test"

    [mysql.parameters]
    pool_size = 5
    charset   = "utf8"

    [mysql.fields]
    course_cols = ["cno", "cname", "ccredit", "cdept"]

2.3.2 python读取toml文件

使用外部库 toml 解析toml文件

# -*- coding: utf-8 -*-
'
  • 25
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值