问题
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.py
file for your script.setup.py
is the "project file" that tells setuptools everything it needs to know to build your application. We'll use thepy2applet
script to do that:
$ py2applet --make-setup MyApplication.py
Wrote setup.py
If 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