Часто встречаю упоминания переменных среды окружения и .env файлов в которых эти переменные хранят в проектах, но вот никак не могу понять, какие преимущества у хранения каких-либо данных в виде переменных среды, а не просто файла config.json? Пока xct статьи что я читал, говорят о том, что так хранятся секретные данные, например явки / пароли, чтобы не залить их например на github, но ведь можно просто добавить файл config.json в .gitignore и все, так в зачем отдельные env файлы и отдельный парсер (python-dotenv) для них?