Read & write Java .properties files
Project description
GitHub | PyPI | Documentation | Issues
javaproperties provides support for reading & writing Java .properties files (both the “plain” format and XML) with a simple API based on the json module — though, for recovering Java addicts, it also includes a Properties class intended to match the behavior of Java 8’s java.net.Properties as much as is Pythonically possible.
Installation
Just use pip (You have pip, right?) to install javaproperties and its dependencies:
pip install javaproperties
Examples
Dump some keys & values (output order not guaranteed):
>>> properties = {"key": "value", "host:port": "127.0.0.1:80", "snowman": "☃", "goat": "🐐"} >>> print(javaproperties.dumps(properties)) #Mon Sep 26 14:57:44 EDT 2016 key=value goat=\ud83d\udc10 host\:port=127.0.0.1\:80 snowman=\u2603
Load some keys & values:
>>> javaproperties.loads(''' ... #Mon Sep 26 14:57:44 EDT 2016 ... key = value ... goat: \\ud83d\\udc10 ... host\\:port=127.0.0.1:80 ... #foo = bar ... snowman ☃ ... ''') {'goat': '🐐', 'host:port': '127.0.0.1:80', 'key': 'value', 'snowman': '☃'}
Dump some properties to a file and read them back in again:
>>> with open('example.properties', 'w', encoding='latin-1') as fp: ... javaproperties.dump(properties, fp) ... >>> with open('example.properties', 'r', encoding='latin-1') as fp: ... javaproperties.load(fp) ... {'goat': '🐐', 'host:port': '127.0.0.1:80', 'key': 'value', 'snowman': '☃'}
Sort the properties you’re dumping:
>>> print(javaproperties.dumps(properties, sort_keys=True)) #Mon Sep 26 14:57:44 EDT 2016 goat=\ud83d\udc10 host\:port=127.0.0.1\:80 key=value snowman=\u2603
Turn off the timestamp:
>>> print(javaproperties.dumps(properties, timestamp=None)) key=value goat=\ud83d\udc10 host\:port=127.0.0.1\:80 snowman=\u2603
Use your own timestamp (automatically converted to local time):
>>> print(javaproperties.dumps(properties, timestamp=1234567890)) #Fri Feb 13 18:31:30 EST 2009 key=value goat=\ud83d\udc10 host\:port=127.0.0.1\:80 snowman=\u2603
Dump as XML:
>>> print(javaproperties.dumps_xml(properties)) <!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd"> <properties> <entry key="key">value</entry> <entry key="goat">🐐</entry> <entry key="host:port">127.0.0.1:80</entry> <entry key="snowman">☃</entry> </properties>
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for javaproperties-0.1.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fe878668cb93c6e77b31923ff51fd1ba2641e432cbf58d091c2f06c8770e9c5f |
|
MD5 | 3f20538e841fedf47d340c4c2b4370df |
|
BLAKE2b-256 | 45a255339d6efd34aeed6f81df317d7cafe89c681ddb59951ce1dd2188f9ac5d |