Skip to main content

read/write .properties file in a simple line-oriented format

Project description

# Brief

read/write .properties file in line-oriented format
`key=value` per line *through function*.

*the code refers to `java.util.Properties` in Java 1.6.*


# Common Usage

* file I/O:
```python
# input
properties = load(file)
# or update existing dictionary
load(file, properties)

# output
store(file, properties)
```

* custom input:
`class LineReader` read in one key-value data. It skips all comment lines,
blank lines, leading whitespace, and processes multi-line data.
`loadSingle(string)` read each piece of data given above to key-value.
```python
for line in LineReader(file): # each key-value line has no line seperator
key, value = loadSingle(line)
# do something
```

* custom output:
`storeComments(writable, comments, linesep=os.linesep))`
write comment (accept multi-line), can specify the line terminator.
`storeSingle(writable, key, value, sep='=', linesep=os.linesep)`
write one key-value, can specify the seperator and the line terminator.
```python
storeComments(file, 'this is a comment')
storeSingle(file, 'key', 'value')
```


# File Format

normally each line is comment line or a key-value pair.

main features:
* seperate key and value by one of `=`, `:`, ` `, `\t`
* ignore whitespaces leading in a line or around `=` or `:`
* comment line begin with `#` or `!`
* escape unicode by `\uxxxx`
* escape special characters by adding `\`

others:
* data line ends with `\` discard the line break

differences with Java:
* store method will not write datetime comment


# Changelog

#### v0.1.0, 2018-6-7

set up.


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

sine.properties-0.1.0.tar.gz (11.9 kB view hashes)

Uploaded Source

Built Distribution

sine.properties-0.1.0-py2.py3-none-any.whl (12.6 kB view hashes)

Uploaded Python 2 Python 3

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