How to generate java .properties files in python

Arnaud Delobelle arnodel at gmail.com
Sat Dec 3 16:34:08 EST 2011


Hi all,

I need to generate some java .properties files in Python (2.6 / 2.7).
It's a simple format to store key/value pairs e.g.

blue=bleu
green=vert
red=rouge

The key/value are unicode strings.  The annoying thing is that the
file is encoded in ISO 8859-1, with all non Latin1 characters escaped
in the form \uHHHH (same as how unicode characters are escaped in
Python).

I thought I could use the "unicode_escape" codec.  But it doesn't work
because it escapes Latin1 characters with escape sequences of the form
\xHH, which is not valid in a java .properties file.

Is there a simple way to achieve this? I could do something like this:

def encode(u):
    """encode a unicode string in .properties format"""
    return u"".join(u"\\u%04x" % ord(c) if ord(c) > 0xFF else c for c
in u).encode("latin_1")

but it would be quite inefficient as I have many to generate.

-- 
Arnaud



More information about the Python-list mailing list