I'd like to run in a local environment a Python script which is normally run in a Docker container. The docker-compose.yml
specifies an env_file which looks (partially) like the following:
DB_ADDR=rethinkdb
DB_PORT=28015
DB_NAME=ipercron
In order to run this locally, I would like these lines to be converted to
os.environ['DB_ADDR'] = 'rethinkdb'
os.environ['DB_PORT'] = '28015'
os.environ['DB_NAME'] = 'ipercron'
I could write my parser, but I was wondering if there are any existing modules/tools to read in environment variables from configuration files?
This could also work for you:
In the comments you'll find a few different ways to save the env vars and also a few parsing options i.e. to get rid of leading
export
keyword. Another way would be to use the python-dotenv library. Cheers.How about this for a more compact solution:
Using only python std
I will use https://pypi.org/project/python-dotenv/ just type
pip install python-dotenv
and then in your code you can usethis is the way i do when i need to test code outside my docker system, and prepare it to return it into docker again.
You can use
ConfigParser
. Sample example can be found here.But this library expects your
key
=value
data to be present under some[heading]
. For example, like: