Skip to main content

Tool to parse Java style properties file

Project description

https://travis-ci.org/luiscberrocal/pyjavaprops.svg?branch=master https://coveralls.io/repos/luiscberrocal/pyjavaprops/badge.svg?branch=master&service=github

Library to read Java style properties files. I don’t particularly like properties files but working with them in Java is very easy. I recently had to support reading Java properties files using Python.

This project is based on Benjamins Brent fork of pyjavaproperties.

The libraries main features are:

  • Reads properties files.
  • You can add new properties.
  • You can save properties to file.
  • It interprets variables in curly braces {} and dollar curly braces ${}.

Caveats

The library does not interpret unicode characters correctly. If you include charactes like u4500 it will interpret it as , letter y and the number 4500.

Installation

Requires Python 3.3 or better.

$ pip install pyjavaprops

Usage

Loading Java properties

filename = os.path.join(TEST_DATA_FOLDER, 'iso-8859-1.properties')
iso_8859_1_properties = JavaProperties()
with open(filename, encoding='iso-8859-1') as property_file:
    iso_8859_1_properties.load(property_file)
     name = iso_8859_1_properties['name']

Saving Java properties to file

filename = os.path.join(TEST_DATA_FOLDER, 'simple.properties')
simple_java_properties = JavaProperties()
with open(filename) as property_file:
    simple_java_properties.load(property_file)
simple_java_properties['country'] = 'Angola'
output_filename = os.path.join(OUTPUT_FOLDER, 'simple_%s.properties' % datetime.now().strftime('%Y%m%d_%H%M'))
with open(output_filename, mode='w') as output:
    simple_java_properties.store(output)

Exporting to json

output_filename = os.path.join(OUTPUT_FOLDER, 'simple_%s.json' % datetime.now().strftime('%Y%m%d_%H%M'))
export_to_json(output_filename, java_properties)
with open(output_filename) as json_data:
    json_properties = json.load(json_data)
    print(json_properties['Key10'])

Development

Virtual Environment

To create the virtual environment

$ cd ~/virtual_environments

$ python3 /usr/local/lib/python3.4/site-packages/virtualenv.py --no-site-packages pyjavaprops_env

$ source ./pyjavaprops_env/bin/activate

(pyjavaprops_env) $

Runnig Tests

$ coverage run --source pyjavaprops setup.py test

Project details


Release history Release notifications

This version
History Node

1.0.2

History Node

1.0.1

History Node

1.0.0

History Node

0.1.5

History Node

0.1.4

History Node

0.1.3

History Node

0.1.2

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
pyjavaprops-1.0.2.tar.gz (7.2 kB) Copy SHA256 hash SHA256 Source None Sep 27, 2015

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page