2015-06-11 63 views
2

我想知道如何用py2exe將多個文件打包成一個單獨的windows可執行文件。我可以將所有python文件(dll's,...)合併成一個py2exe。但是,我怎樣才能將我自己的一些文件(即圖像或配置文件)複製到我的可執行文件中,並使用相對路徑將它們加載到python中。例如:py2exe,可執行文件:如何將數據打包到單個文件中?

file = open("config.txt",r") 
file2 = open("mysubfolder\config.txt","r") 
+1

@Algo我認爲一個是不同的,因爲它是問關於庫,這一個是關於額外的數據文件。 – noname

回答

1

我不知道您是否可以將您的圖像文件嵌入到exe文件中。如果有辦法,我也感興趣。我知道的是,你可以使用他們從一個單獨的文件夾。爲此,您需要修改安裝文件。爲要加載的內容添加數據路徑。例如,將其添加到您的安裝文件中:

import glob 

data_files = [('mysubfolder', glob.glob('mysubfolder/config.txt'))] 

setup(
    data_files = data_files, 
    windows = [GUI2Exe_Target_1] 
) 

當然,您可以將更多文件夾或文件添加到data_files。 對於這個設置文件中的其他配置選項,您可以參考py2exe官方網站。

+0

謝謝你的回答。你從哪個包導入glob.glob? – Faminator

+0

忘了提及。導入glob – noname

+0

它不起作用。它會在我的projectfolder/dist位置創建文件夾 - 不在打包的可執行文件中。 – Faminator

0

如果您使用的是PyQT(或PySide),可以將資源文件編譯爲python模塊(.py文件)。這樣,你只需要import他們能夠使用它們,py2exe默認將它們包含在可執行文件中。

看看the PyQt4 Resource System

+0

這是一個好主意,但我沒有使用pyqt。我用tkinter。儘管如此:謝謝你的答案 – Faminator

相關問題