簡體   English   中英

如果使用 pyinstaller 將兩者一起編譯成 .exe 文件,如何從 python 文件訪問文件夾中的 .png 文件

[英]How to access .png file in folder from a python file if both are compiled together into .exe file using pyinstaller

當我使用 Pyinstaller 將所需的文件夾和 Python 程序編譯成可執行文件時,我使用了 datas datas = [("C:Users/Snoxzy/project/data", "data")],... line in.spec file to include ' data' 文件夾到可執行文件中,它也可以作為 pyinstaller 在編譯期間創建的包中的 'data' 訪問。 我的 Python 程序引用了'C:Users/Snoxzy/project/data'文件夾中的 .png 文件,如果我稍后刪除該 .png 文件,該文件將不起作用。 如果我能夠在 pyinstaller 創建的捆綁包中引用新創建的'C:Users/Snoxzy/project/data'的 'data' 文件夾實例,我可以稍后刪除 original.png 文件並且可執行文件應該仍然有效,因為我正在引用.png 文件來自直接集成到可執行文件中的“數據”文件夾,但我不知道該怎么做。 更准確地說,我 refrence.png 文件所在的代碼部分是: field = ImageTk.PhotoImage(Image.open('C:Users/Snoxzy/project/data/other/field.png')) 我應該使用這個'C:Users/Snoxzy/project/data/other/field.png'什么來訪問包文件夾“數據”?

您可以使用 sys.executable 在可執行文件中找到 python.exe 的路徑。 然后使用 os 模塊構建到 your.png 的路徑。 如果您的數據文件夾與 python.exe 位於同一目錄中,則此示例將有效。

import sys
import os

field = os.path.join(os.path.dirname(sys.executable), ('data\\' 'other\\' 'field.png'))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM