Windows 10/11 的 .exe 文件随附的文件存储在哪里?

Where does a file gets stored that came with a .exe file on Windows 10/11?

所以我制作了这个 python 文件,我想用 Nuitka 将其编译(称为 ElPatron)为 .exe 文件。 我做对了,这是随附的 dist 文件夹(使用 Nuitka 的 --standalone 参数)

这是我使用的 nuitka 命令:

.\python.exe -m nuitka --mingw64 .\ElPatron.py --standalone --onefile --windows-disable-console --windows-icon-from-ico=pdf.ico --include-data-file=C:\Users\User\AppData\Local\Programs\Python\Python39\example.pdf=example.pdf

我使用 Nuitka 的 --include-data-file 参数将 pdf 包含在 exe 中

我现在遇到的问题是,当执行 ElPatron.exe 时,我不知道 this(example.pdf) 存储在哪里。我想知道这个以便我可以在我的 Python 项目中调用它。

问题

当 windows 计算机执行 .exe(包含 pdf)时,example.pdf 存储在哪里?

通过查看 Nuitka documentation,它说:

# Create a binary that unpacks into a temporary folder
python -m nuitka --onefile program.py

Note

There are more platform specific options, e.g. related to icons, splash screen, and version information, consider the --help output for the details of these and check the section “Good Looks”.

Again, on Windows, for the temporary file directory, by default the user one is used, however this is overridable with a path specification given in --windows-onefile-tempdir-spec=%TEMP%\onefile_%PID%_%TIME% which is the default and asserts that the temporary directories created cannot collide.

所以,我认为输出应该显示为 %TEMP% 中的子目录,如所述,应该是路径 C:\Users\%USERNAME%\AppData\Local\Temp\.

如果您想使用默认路径,您必须在 %TEMP% 中找到动态命名的子文件夹 (onefile_%PID%_%TIME%) =28=],你可以get the current process ID,然后使用模糊模式或其他东西,因为你将无法知道确切的时间。否则,设置自定义路径。