macPython: accessing string data in resource files
Jacob Kaplan-Moss
jacobkm at dont.spam.me.cats.ucsc.edu
Tue May 29 12:38:59 EDT 2001
Jesse --
Well, the module you want is the Res module. There's no documentation
for this module that I'm aware of, but the docstrings are pretty good.
To get at a STR# resource, try something like this:
Python 2.1 (#92, Apr 24 2001, 23:59:23) [CW PPC GUSI2 THREADS] on mac
Type "copyright", "credits" or "license" for more information.
>>> import Res
>>> resfile = "strings.rsrc" # or the full path to your res file
>>> rf = Res.FSpOpenResFile(resfile, 0)
>>> strh = Res.GetResource("STR#", 128)
>>> strh.data
'\x00\x04\x18this is the first string\tstring #2\x12and a third
string\x1afinally, the fourth string'
Now, at this point you've got the STR# data, but it is encoded as a
series of Pascal strings. The resource data starts with a null byte,
the next byte is the number of strings, and then each string begins with
a byte telling how long the following string is. You could probably
write a function which converts this into a list, but as far as I'm
aware of there is no library function which will do it for you.
Hope that helps,
Jacob
More information about the Python-list
mailing list