Python打包exe运行报错ConfigParser.NoSectionError: No section: 'TestCase'
上一篇 /
下一篇 2014-08-07 01:17:08
/ 个人分类:Python
Python打包exe运行报错ConfigParser.NoSectionError: No
section: 'TestCase'
打包后的exe程序运行找不到节点,代码调试的时候明明可以找到配置文件的节点并能成功解析的啊,为啥打包后找不到了呢?各种度娘后。。。得出结论:配置文件路径错了。
解决办法:
1、import ConfigParser
cf = ConfigParser.ConfigParser()
exepath = os.path.dirname(sys.path[0])#获取的是exe所在路径的上级路径
cf.read(exepath + "\Editor_Excel\config.ini")#拼接配置文件路径
-------缺点是,打包后的文件名称不能改,否则依然会报错ConfigParser.NoSectionError: No section:
2、import ConfigParser
cf = ConfigParser.ConfigParser()
exeruningpath=os.path.dirname(sys.executable)#获取exe所在路径
cf.read(exeruningpath + "\config.ini")#拼接配置文件路径
------缺点是,调试代码时os.path.dirname(sys.executable)获取的是python的安装路径,并非是工程中的路径
偷懒办法:
import ConfigParser
import os
import Run_Tool
def main():
cf = ConfigParser.ConfigParser()
exeruningpath=os.path.dirname(sys.executable)
exepath = os.path.dirname(sys.path[0])
if os.path.exists(exepath + "\Editor_Excel\config.ini"):
cf.read(exepath + "\Editor_Excel\config.ini")
else:
cf.read(exeruningpath + "\config.ini")
-------哈哈,搞定。小小白自恋一下。
为啥不用os.getcwd()获取当前路径再拼接配置文件路径呢?
os.getcwd()获取的是当前程序运行的路径,并非是,打包后exe所在路径。
收藏
举报
TAG:
no
No
section: