【Python-GUI開發】將py文件轉換爲exe可執行文件 -- pyinstaller 打包之後,運行無法生成hex文件,文件夾無法自動創建

在沒有打包成EXE文件之前,在pycharm中是可以正常輸出生成hex文件的,但是用pyinstaller打包之後,再點擊運行exe文件,卻無法生成hex文件

解決方案:

其實本質上有生成輸出文件的,但是不是在exe文件當前所在的文件夾內。
path = os.path.join(os.path.abspath(os.path.dirname(__file__)), 'log', self.loggerName)
問題在這一句代碼。
os.path.dirname(__file__)返回的是當前腳本的所在路徑,使用pycharm和直接點擊運行py文件,這個路徑均爲腳本的所在路徑,而生成exe之後點擊運行,這個路徑變爲exe釋放路徑C:Users...AppDataLocalTemp_MEI*,所以hex文件生成在這個路徑下,在結束運行後,這個路徑文件夾會被刪除。
最後頭部導入sys庫

import sys

 原先使用os.path路徑的代碼修改如下

    def __init__(self):
        super(hexMergeClass, self).__init__()
        if getattr(sys, 'frozen', False):
            pathname = sys._MEIPASS
        else:
            pathname = os.path.split(os.path.realpath(__file__))[0]
            self.cur_path = os.path.abspath(os.path.dirname(__file__)) + '\\'  # 當前腳本路徑
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章