当前位置: 首页 > 面试题库 >

PyInstaller无法添加.txt文件

陈哲
2023-03-14
问题内容

我是编程(和Python)的新手,而问题/响应系统使我得以解决所有问题。我没有找到任何直接解决我当前问题的帖子,但是不得不承认我并不真正知道出什么问题。让我解释。

我正在尝试*.py使用PyInstaller制作脚本的可执行文件。使用简单的Python脚本(使用–
onefile)可以做到这一点,但是当涉及使用其他*.py*.txt文件的更复杂的程序时,它就不起作用。我知道我需要修改规范文件并尝试了许多替代方法-例如添加隐藏文件。

这些是文件:

  • UpdatingStrategy.py (要在可执行文件中转换的目标文件)
  • LPRfunctions.pyUpdatingStrategy.py从该文件导入功能)

*.txt读取以下文件UpdatingStrategy.py

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

我正在使用Python 3.5和Windows10。请告诉我是否需要其他信息。

如何正确使用规范文件并对其进行修改,以使可执行文件为UpdatingStrategy.py

我已经阅读了PyInstaller文档,但是我缺少许多关键原则,因此无法正常工作。


问题答案:

下线后

a = Analysis( ... )

a.datas += [
    ("/absolute/path/to/some.txt","txt_files/some.txt","DATA"),
    ("/absolute/path/to/some2.txt","txt_files/some2.txt","DATA"),
    ("/absolute/path/to/some3.txt","txt_files/some3.txt","DATA"),
]

然后在程序中使用以下命令获取.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()

确保按以下方式构建它:python -m PyInstaller my_target.spec在编辑了规范文件之后,不要直接对.py文件调用PyInstaller,否则它将覆盖已编辑的文件…



 类似资料:
  • 请看下面的JavaFX和CSS代码。 登录2。JAVA 我ogin.css 当我运行这个,我得到以下错误。 应用程序启动方法中的异常线程“main”java中的异常。lang.RuntimeException:com上应用程序启动方法中的异常。太阳javafx。应用发射装置impl。在com上启动Application1(未知源)。太阳javafx。应用发射装置impl。在com上访问$000(未

  • 我试图添加一个图像到一个文件的PyInster产生。我读过很多问题/论坛,比如这个和那个,但仍然不起作用。 我知道对于一个文件操作,Pyinstller会产生一个临时文件夹,可以通过.然而,我不知道在我的脚本中应该在哪里添加这个. 请显示以下内容: 1-在哪里和如何应该添加?在python脚本中,还是在规范文件中? 2-要使用的确切命令是什么?我试过了 或 然后添加('myImag.png','i

  • 我正在尝试在文本文件中运行一个基本的cucumber功能:calculator/features/adding.feature.txt: 当在../calculator/ directory并运行< code>cucumber,我得到的输出是:0场景0步骤0m0.000s 当我运行时,我得到了输出: 无法加载文件features/adding.feature.txt的“txt”编程语言:无法加载此

  • 我想创建一个包含xml文件的zip文件夹并下载它。我可以下载zip,但它是空的。 我可以创建xml和zip: 顺便说一下,$result是ArrayToXML::CONVERT(array,....) 如何将xml文件添加到ZIP。我刚来拉拉维尔请帮帮我

  • 我在这个论坛上尝试了几种解决方案,但我无法添加要提交的文件。我使用的是,但我的git bash只是冻结了。我已经删除了索引。锁定文件。似乎每次我运行git add-A时都会创建它,但什么也没发生。它只是坐在那里,有一个闪烁的光标。我升级了我的git bash,重新初始化了我的项目,但仍然是相同的问题。我尝试了以下线程和类似线程中的许多解决方案: 另一个git进程似乎正在这个存储库中运行 完全错误:

  • 问题内容: 情况 我在Windows上使用Pyinstaller制作项目的.exe文件。 我想使用option来获得干净的结果和易于分发的文件/程序。 我的程序使用一个文件来存储配置选项。该文件可以由用户定制。 问题 使用选项Pyinstaller将所有声明的“数据文件”放入单个文件文件中。 我已经看到了这个请求,但它给istructions添加一个包文件 的onefile内部 ,而不是外部的,在