问题
I recently learned Python (2.7) and have been making some simple board games with AIs and such as practice. I am currently making an intelligent hangman game which necessitates the inclusion of a dictionary file. (I have a text file which has a new word on each line). I used py2app successfully for other stuff such as this: connect-four.zzl.org but unfortunately, it doesn't seem to include my text file when I run py2app for my new hangman program. Can anyone help me figure out how to include this file so that the program can be distributed like the connect four game I linked to?
Thank You very much. (I am running OS X 10.7 and can provide any other necessary info if necessary)
回答1:
Specify a resources key in your options that contains a list of resources to include. This will be the current directory when your app runs
options = { "resources": ["myfile.txt"] }
http://svn.pythonmac.org/py2app/py2app/trunk/doc/index.html#option-reference
If you use the resources flag with py2applet it will creates that key
回答2:
From the help document for py2app:
The first step is to create a
setup.pyfile for your script.setup.pyis the "project file" that tells setuptools everything it needs to know to build your application. We'll use thepy2appletscript to do that:
$ py2applet --make-setup MyApplication.py
Wrote setup.pyIf your application has an icon (in .icns format) or data files that it requires, you should also specify them as arguments to
py2applet.
So presuming you have hangman.py and hangman.txt run:
$ py2applet --make-setup hangman.py hangman.txt
回答3:
A very simple way is to add your dictionary as a (variable in a) python module that you import at run time. The dictionary will be embedded in your exe as any other module.
来源:https://stackoverflow.com/questions/8550374/bundle-text-file-in-py2app-application-python