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:

 

评分:0

我来说两句

日历

« 2024-03-28  
     12
3456789
10111213141516
17181920212223
24252627282930
31      

数据统计

  • 访问量: 24107
  • 日志数: 7
  • 图片数: 1
  • 建立时间: 2014-08-07
  • 更新时间: 2016-08-27

RSS订阅

Open Toolbar