Skip to main content
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 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

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.2.tar.gz (7.2 kB view details)

Uploaded Source

File details

Details for the file pyjavaprops-1.0.2.tar.gz.

File metadata

  • Download URL: pyjavaprops-1.0.2.tar.gz
  • Upload date:
  • Size: 7.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for pyjavaprops-1.0.2.tar.gz
Algorithm Hash digest
SHA256 0e1e54e203072e8c0753ac67f10b1c52446d7dc81fbf2b5adec7b9f6c6b9a0d0
MD5 7b4fc2491242a74db8948d2128697c0a
BLAKE2b-256 e6ff3ffbe8fc1cc30212e39aeec551863494731ea913f759b2eec84aca124ae4

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

1.0.2 This release

1 file

1.0.1

1 file

1.0.0

1 file

0.1.5

1 file

0.1.4

1 file

0.1.3

1 file

0.1.2

1 file

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page