[英]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.