For those of whom are still looking for a more recent answer, here you go:
In the documentation, there's a section on accessing added data files.
Here is the short and sweet of it.
You'll want to import pkgutil
and locate which folder you added the datafile to; i.e. the second string in the tuple which was added to the spec file:
datas = [("path/to/mypackage/data_file.txt", "path/to/mypackage")]
Knowing where you added the data file can then be used for reading it in as binary data, and decoding it as you wish. Take this example:
mypackage
__init__.py # This is a MUST in order for the package to be registered
data_file.txt # The data file you've added
Hello world!
import pkgutil
file = pkgutil.get_data("mypackage", "data_file.txt")
contents = file.decode("utf-8")
print(contents) # Hello world!
pkgutil
- Builtin library__init__.py
and packages