Pyinstaller无法添加.txt文件

2024-09-29 17:15:55 发布

您现在位置:Python中文网/ 问答频道 /正文

我对编程(以及Python)相当陌生,StackOverflow问题/响应系统允许我解决所有问题。我没有找到任何直接针对我当前问题的帖子,但我不得不承认,我真的不知道出了什么问题。让我解释一下。在

我试图使用PyInstaller生成*.py脚本的可执行文件。用一个简单的Python脚本(使用--onefile)可以做到这一点,但是在使用其他*.py*.txt文件的更复杂的程序中,它不起作用。我知道我需要修改spec文件,并尝试了许多替代方法—例如添加隐藏文件。在

以下是文件:

  • UpdatingStrategy.py(可执行文件中要转换的目标文件)
  • LPRfunctions.pyUpdatingStrategy.py从此文件导入函数)

下列*.txt文件由UpdatingStrategy.py读取:

  • Strategy_Observ.txt
  • Strategy_Problems.txt
  • Updating_Observ1.txt
  • Updating_Observ2.txt
  • Updating_Problems.txt

我使用的是python3.5和windows10。如果你需要额外的信息,告诉我。在

有人能告诉我如何正确地使用spec文件并修改它以使UpdatingStrategy.py的可执行文件?我已经阅读了PyInstaller文档,但是我缺少许多关键原则,我无法使其工作。在


Tags: 文件pytxt脚本可执行文件系统编程stackoverflow
1条回答
网友
1楼 · 发布于 2024-09-29 17:15:55

排队之后

a = Analysis( ... )

添加

^{pr2}$

然后在你的程序中使用下面的方法来获得你的txt文件的资源路径

def resource_path(relative_path):
    """ Get absolute path to resource, works for dev and for PyInstaller """
    try:
        # PyInstaller creates a temp folder and stores path in _MEIPASS
        base_path = sys._MEIPASS
    except Exception:
        base_path = os.environ.get("_MEIPASS2",os.path.abspath("."))

    return os.path.join(base_path, relative_path)

 ... 


 txt_data = open(resource_path("txt_files/some.txt")).read()

{cd1>确保你喜欢。。。在编辑了spec文件之后,不要直接对.py文件调用pyinstaller,否则它将覆盖已编辑的文件。。。在

相关问题 更多 >

    热门问题