MacOS中python二进制*app中config.ini的真实路径

我有这个代码:


def _read_config(self):

    config = configparser.ConfigParser()

    config.sections()

   # I tried 

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

   # and this after create exec file with pyinstaller nothing changed

    path_main = os.getcwd() 

    print(path_main)

    file = os.path.join(path_main, "config.ini")

    print(file)

    config.read(file)

    return config

当我使用带有 的终端在 MacOS 中运行代码时python gui.py,它会打印:


/Users/telos/Desktop/Telos-Monitor-Tool/client

/Users/telos/Desktop/Telos-Monitor-Tool/client/config.ini

但是当我这样做时pyinstaller --onefile --windowed gui.py,我收到 1 个应用程序文件,当我运行它时,我得到了这个:


/Users/telos

/Users/telos/config.ini

但是一个文件 app 和``gui.py` 是在同一个目录下。


所以我有一个错误,因为 Python 解析器找不到 config.ini。


正如评论建议我print(QtCore.QCoreApplication.applicationDirPath())在重新创建应用程序后使用一样,我有 2 个文件 1 gui.app、 2-nd gui.exec。gui.exec找到 config.ini 很好,一切正常,但gui.app不能发送错误。


知道有什么问题吗?


斯蒂芬大帝
浏览 149回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python