Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

ConfigRW is a simple python module which read and write config files based on key-value or INI-structure

License

Notifications You must be signed in to change notification settings

microcoder/configrw

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

53 Commits

Repository files navigation

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
some option = some 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['some option'] # Getting the value
section['some option'] = 100 # Setting the value
del section['some 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
some 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

About

ConfigRW is a simple python module which read and write config files based on key-value or INI-structure

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

AltStyle によって変換されたページ (->オリジナル) /