Last updated:
0 purchases
javaproperties 0.8.1
GitHub
| PyPI
| Documentation
| Issues
| Changelog
javaproperties provides support for reading & writing Java .properties files (both
the simple line-oriented 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.util.Properties as much as
is Pythonically possible.
Previous versions of javaproperties included command-line programs for
basic manipulation of .properties files. As of version 0.4.0, these
programs have been split off into a separate package, javaproperties-cli.
Installation
javaproperties requires Python 3.6 or higher. Just use pip for Python 3 (You have pip, right?) to install it:
python3 -m 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>
New in v0.6.0: Dump Unicode characters as-is instead of escaping them:
>>> print(javaproperties.dumps(properties, ensure_ascii=False))
#Tue Feb 25 19:13:27 EST 2020
key=value
goat=π
host\:port=127.0.0.1\:80
snowman=β
And more!
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.