python读取配置文件列表失败_python读取配置文件报keyerror-文件路径不正确导致的错误...

- 在其他模块使用反射读取配置文件报错,但是在反射模块中读取GetData.check_list又是正确的

反射模块如下:

# get_data.py

from API_AUTO.p2p_project_7.tools import project_path

import pandas as pd

from API_AUTO.p2p_project_7.tools.read_config import ReadConfig

class GetData:

Cookie = None

LoanId = None

check_list = eval(ReadConfig.get_config(project_path.case_config_path, "CHECK_LEAVE_AMOUNT", "check_list"))

AddTel = pd.read_excel(project_path.test_case_path, sheet_name="init").iloc[0, 0]

NormalTel = pd.read_excel(project_path.test_case_path, sheet_name="init").iloc[1, 0]

AdminTel = pd.read_excel(project_path.test_case_path, sheet_name="init").iloc[2, 0]

LoanMemberId = pd.read_excel(project_path.test_case_path, sheet_name="init").iloc[3, 0]

MemberID = pd.read_excel(project_path.test_case_path, sheet_name="init").iloc[4, 0]

print(GetData.AdminTel)

print(GetData.check_list)

# df = pd.read_excel(project_path.test_case_path, sheet_name="phone")

# print(df.iloc[0, 0]) # 获取phone表单中的A1单元格的值

- 方法1:不使用反射,直接导入读取配置文件模块,直接读取

import configparser

"""

通过读取配置文件,来执行相应的测试用例

配置文件分为2个部分

第一部分:[SECTION],必须使用[]

第二部分:option=value 键值对形式存储

"""

cf = configparser.ConfigParser()

# 打开配置文件,传入文件名和编码格式

cf.read("case.config", encoding="utf-8")

# 方法1取值

# 读取配置文件的数据,传入section和option的值

# res_1 = cf.get("MODE", "mode")

# print(res_1)

# 方法2取值,类似字典

# res_2 = cf["MODE"]["mode"]

# print(res_2)

# 读取所有SECTION,结果是列表

# print(cf.sections(), type(cf.sections()))

# 读取某一分区下的数据,结果是列表,section中的键值对放在了元组中

# print(cf.items("DREAM"))

# 配置文件中的value,无论是数字还是列表或其他类型,读取出来后都是字符串类型

# 通过eval去掉引号,转换为原来的数据

age = cf.get("PERSON", "age")

print(age, type(age))

name = cf["PERSON"]["name"]

print(name, type(name))

favorite = cf.get("PERSON", "favorite")

print(favorite, type(favorite))

- 结果:仍然报错,原因是执行了引用模块中的代码

- 将上述代码注释掉就可以正常执行了

方法2:找到出错原因,进行修改

使用反射出错的原因是反射中有读取配置文件的代码,读取配置文件时要有文件的路径,在project_path中读取目录时没有使用绝对路径导致在其他模块引用反射时出错了,改成通过 os.path.split(os.path.split(os.path.realpath(__file__))[0])[0]   获取路径就OK了

原文:https://www.cnblogs.com/come202011/p/12236671.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值