configparser.NoSectionError:否部分:“ XXX”

时间:2019-08-04 08:50:27

标签: python pycharm pyinstaller configparser

我要配置一个配置。 ini并阅读。当我在pycharm中运行代码时,没关系,它会正常返回结果。但是,当我使用pyinstaller将.PY打包为.EXE文件时,它将报告错误:

Congparser.NosectionError: No section:'config'

如有任何建议,我将不胜感激。 顺便说一下。 EXE文件和。 INI文件位于同一文件夹中, 我在Windows10上使用Python3.7

我是Python新秀。我不知道如何解决cmd中的错误。我尝试在pycharm中输出路径。结果非常正常。

# coding = gbk

import  configparser

import os

curpath = os.path.dirname(os.path.realpath(__file__))
cfgpath = os.path.join(curpath, "config.ini")
print(cfgpath)
print(os.path.realpath(__file__))


conf = configparser.ConfigParser()


conf.read(cfgpath)


items = conf.items('config')
l2 = [items[0][1],items[1][1],items[2][1],items[3][1]]
print(items)
print(l2)

产生pycharm:

E:\untitled\venv\Custom_formula\config.ini
E:\untitled\venv\Custom_formula\config_data.py
[('server', '127.0.0.1'), ('user', 'sa'), ('pwd', '123456'), ('db', 'test')]
['127.0.0.1', 'sa', '123456', 'test']

CMD结果:

Traceback (most recent call last):
  File "config_data.py", line 25, in <module>
  File "configparser.py", line 848, in items
configparser.NoSectionError: No section: 'config'
[9080] Failed to execute script config_data

1 个答案:

答案 0 :(得分:1)

感谢萨克森州的罗尔夫!我通过改变解决了这个问题

curpath = os.path.dirname(os.path.realpath(__file__))

curpath = os.path.dirname(os.path.realpath(sys.argv[0]))

事实证明,pycharm中的结果与EXE中的结果不同, 希望这会帮助更多人