我要配置一个配置。 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
答案 0 :(得分:1)
感谢萨克森州的罗尔夫!我通过改变解决了这个问题
curpath = os.path.dirname(os.path.realpath(__file__))
到
curpath = os.path.dirname(os.path.realpath(sys.argv[0]))
事实证明,pycharm中的结果与EXE中的结果不同, 希望这会帮助更多人