博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
configparser读取配置文件时的相对路径问题
阅读量:5091 次
发布时间:2019-06-13

本文共 1942 字,大约阅读时间需要 6 分钟。

学习接口测试时,当我把配置文件xx.config和读取配置文件的模块read_config.py放在项目下的同一个包config里时,只需传入文件名xx.config即可实现对配置文件的读取. 但是当我在项目下另一个包里导入read_config.py后,再次传入要读取的配置文件名xx.config,却报错了!

Traceback (most recent call last):  File "C:\Users\wangyi\AppData\Local\Programs\Python\Python36\lib\configparser.py", line 1138, in _unify_values    sectiondict = self._sections[section]KeyError: 'MOD'During handling of the above exception, another exception occurred:Traceback (most recent call last):  File "C:/develop/lemon/tool/read_excel.py", line 88, in 
button = ReadConfig().read_config('case.config','MOD','button') File "C:\develop\lemon\config\read_config.py", line 18, in read_config return cf.get(section,option) File "C:\Users\wangyi\AppData\Local\Programs\Python\Python36\lib\configparser.py", line 781, in get d = self._unify_values(section, vars) File "C:\Users\wangyi\AppData\Local\Programs\Python\Python36\lib\configparser.py", line 1141, in _unify_values raise NoSectionError(section)configparser.NoSectionError: No section: 'MOD'

纠结了半天,始终找不出错误原因,想去百度一下,但是心想这么简单的问题难道我都解决不了还要去百度?那岂不是太没面子了呀! 我打开酷狗,放一首古琴曲, 试着让自己静下来,但窗外马路上的汽车鸣笛声让我静不下来,  突然发现, 会不会是路径有问题?

read_config部分如下:

class ReadConfig:    def read_config(self,file_name,section,option):        cf = configparser.ConfigParser()        cf.read(file_name,encoding='utf-8')        return cf.get(section,option)if __name__ == '__main__':    r = ReadConfig().read_config('case.config','MOD','button')    print(r)

将寻找配置文件的路径改了一下,加了一行, 让你不管输入什么配置文件名都去config包里面去找:

class ReadConfig:    def read_config(self,file_name,section,option):        file = os.path.abspath(os.path.join(os.getcwd(),'..','config',file_name))        cf = configparser.ConfigParser()        cf.read(file,encoding='utf-8')        return cf.get(section,option)if __name__ == '__main__':    r = ReadConfig().read_config('case.config','MOD','button')    print(r)

 

大功告成, 哈

 

转载于:https://www.cnblogs.com/wangyi0419/p/11253929.html

你可能感兴趣的文章
记一次Web服务的性能调优
查看>>
jQuery.form.js使用
查看>>
(转)linux sort,uniq,cut,wc命令详解
查看>>
关于ExecuteNonQuery执行的返回值(SQL语句、存储过程)
查看>>
UVa540 Team Queue(队列queue)
查看>>
mysql数据增删改查
查看>>
akka之种子节点
查看>>
不知道做什么时
查看>>
matlab 给某一列乘上一个系数
查看>>
密码学笔记——培根密码
查看>>
Screening technology proved cost effective deal
查看>>
MAC 上升级python为最新版本
查看>>
创业老板不能犯的十种错误
查看>>
Animations介绍及实例
查看>>
判断请求是否为ajax请求
查看>>
【POJ2699】The Maximum Number of Strong Kings(网络流)
查看>>
spring boot配置跨域
查看>>
BZOJ 1996 合唱队(DP)
查看>>
进击吧!阶乘——大数乘法
查看>>
安卓学习资料推荐-25
查看>>