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 https://badge.fury.io/py/pyjavaprops.svg

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 Javaproperties files using Python.

This project is based on Benjamins Brent fork of pyjavaproperties.

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


Download files

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

Source Distribution

pyjavaprops-1.0.1.tar.gz (7.0 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page