【问题标题】:Having trouble by adding txt files to .EXE using Auto-Py-To-Exe使用 Auto-Py-To-Exe 将 txt 文件添加到 .EXE 时遇到问题
【发布时间】:2022-08-19 23:50:17
【问题描述】:

我一直在使用 auto py to exe 将我的程序转换为 exe 文件。但是,我无法让它打开程序使用的 txt 文件。

我的程序如下所示:

With open (\"text.txt\", \"r\") as file:
    \"\"\"does something\"\"\"

每次运行 .exe 文件时,我都会收到此错误:

No such file or directory: \'text.txt\'

不过,我正在使用 -add-data 突击队。因此,对于我在图书馆手册中可以看到的内容,它应该可以工作。我对 PyInstaller 也有同样的问题。有什么帮助吗?

  • 嗨,大卫,欢迎来到 Stack Overflow。为了帮助其他人帮助您,包含您尝试解决的问题的最小可重现示例很有用。由于这是使用 auto-py-to-exe,因此查看 auto-py-to-exe 正在为您构建的“当前命令”会很有用。
  • 另请注意,auto-py-to-exe 在后台使用 PyInstaller,并且在 SO 上存在许多关于将数据文件包含在 PyInstaller 中的问题。例如:stackoverflow.com/questions/7674790/…

标签: python pyinstaller py2exe


【解决方案1】:

已更新以前的答案,手动放置文本生成的输出文件夹中的文件

import os
import sys


try:
    with open(os.path.join(sys.path[0], "text.txt"), "r") as f:
        print(f.read())
except Exception as e:
    print(e)

【讨论】:

  • 谢谢!但是,现在我得到的是:没有这样的文件或目录:'./text.txt'
  • 你把这个文件放在exe文件夹里吗
  • 是的,我有。我不知道为什么这会诚实地发生。
  • 你可以试试更新的答案吗
【解决方案2】:

我发现当你使用 auto-py-to-exe 创建 --onefile exe 时。当 exe 文件运行时,它会在 C:\Users{user}\AppData\Local\Temp 中创建一个文件夹并运行它。您可以使用print(str(Path(__file__).parent.absolute())) 进行检查

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-10-24
    • 1970-01-01
    • 2023-01-04
    • 1970-01-01
    • 1970-01-01
    • 2021-11-04
    • 2022-12-03
    • 1970-01-01
    相关资源
    最近更新 更多