ConfigRW is a simple reader and writer config files based on key-value or INI-structure.
Project description
ConfigRW
ConfigRW is a simple python module which read and write config files based on key-value or INI-structure.
Key features
- Maximum preserves formatting of the source file (indents, spaces, comments, etc)
- Support non-section (for access for simple config files based on key-value)
- Inserting an option on an arbitrary string in the section
- Support multiple values of option
- Support options without values
- Support comments in a section
- Support indentation for options, values
- Secure file rewriting. Using *.new file on write, then renamed to original filename
Installation
Installation package to user python-library directory:
$ pip install --user configrw
Or you can install package to global system directory of python libraries (not recommended):
$ sudo pip install configrw
Documentation
You can find a full manual on how to use ConfigRW at readthedocs
Quick start
In next examples we will use the following INI file:
# This is comment
this is option = this is value
second option = -100
[ SECTION1 ] # comment
option1 = 100
option2 = 200
# comment
option3 = 1.2
[ section2 ]
param1 = 'str'
param2 = 0 # comment
parameter_without_value
[section3]
extensions =
# comment1
ext1
# comment2
ext2
ext3
Access to non-section area
This is features needed if you want use simple key-value of config file
from configrw import Config
config = Config.from_file('/path/to/file')
section = config[None] # Getting non-section
value = section['this is option'] # Getting the value
section['this is option'] = None # Setting the value
del section['second option'] # Deleting the option
Access to section area
This is features needed if you want use INI config file
value = config['SECTION1']['option2'] # Getting the value
config['SECTION1']['option2'] = 0 # Setting the value
config['SECTION1']['option3'] = 300 # Adding new option to section
config['section3']['extensions'].append('ext4') # Adding new value to multiple values
config['section3']['extensions'].insert('ext0', 0) # Inserting new value
config['section3']['extensions'][0] = 'extension0' # Changing single value of multiple values
config.write('/path/to/file') # Saving config to file
# Render config to screen
for line in config.to_text():
print(line)
INI-file after changes:
# This is comment
this is option
[ SECTION1 ] # comment
option1 = 100
option2 = 0
# comment
option3 = 300
[ section2 ]
param1 = 'str'
param2 = 0 # comment
parameter_without_value
[section3]
extensions =
extension0
# comment1
ext1
# comment2
ext2
ext3
ext4
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
File details
Details for the file configrw-1.1.0.tar.gz
.
File metadata
- Download URL: configrw-1.1.0.tar.gz
- Upload date:
- Size: 5.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7874e5c4ae48c19af945f6ad1cc9a713e56911f0ca5b77e8a12c99106101bcff |
|
MD5 | ca3d9d0e9f2fcba41f5e4ac436eb245a |
|
BLAKE2b-256 | 0d774cca6c5aabaaee9224d533199026cb9af7e287870ee0d73445cd9282ca99 |