MinTnt, save = open('log.txt', 'w').write('') - в чем смысл? Можно сразу с 'a' открыть.
И закрыть файл надо не забыть, а лучше контекстный менеджер использовать.
Дока
pip все равно нужен, чтобы поставить пакеты в виртуальное окружение, но в теории вы можете потом удалить все лишнее (пип в том числе) из папки с окружением перед тем как ее куда-то переносить.
Ваши скрины (которые, кстати, нарушают правила ресурса)
поподробнее про костыли можно?
Костыли приведенные на ваших скринах обрабатывают измнениие сеттингов джанги в рантайме и проверяют совпадает ли название измененной настройки с заданной в `if`. Если совпадают - делают то, что написано под `if`.
Например подменяют (боже упаси) глобальный объект `api_settings` новым, с новыми настройками, взятыми из измененного сеттинга джанги.
Настоящие данные у вас тоже без пробелов будут?
Переносить строку по словам и разбивать слово на части - разные задачи, вы пытаетесь решение одной задачи натянуть на вторую.
Можно
- Приводить к валидному json - заворачивать строки в двойные кавычки и соответственно экранировать существующие кавычки внутри строк. Ну и про запятые между сущностями не забывать.
- Разбирать каждую строку регэкспами в вручную класть в словарь, например все, что до : - в ключ, все что после - в значение.
Интуитивно кажется, что первый вариант проще.
Это параметр декоратора, указывает в какой файл писать. У вас декоратор открывает файл с указанным именем и записывает в него результат выполнения функции.
Про декораторы Вот тут вроде понятно описано все.