How to generate java .properties files in python

Discussion in 'Python' started by Arnaud Delobelle, Dec 3, 2011.

  1. 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
     
    Arnaud Delobelle, Dec 3, 2011
    #1
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.

Share This Page