Python 3 - JSON экранирует экранирующие символы и изменяет мое регулярное выражение - PullRequest
0 голосов
/ 25 апреля 2019

У меня есть бот, который загружает конфигурации из файла.Эти конфиги создаются в интерфейсе и выгружаются в файл .json.

Некоторые из этих конфигов являются регулярными выражениями и содержат множество escape-символов '\'.

Когда я делаю:

regex = 'https?:\/\/www\.somewebsite\.com\/(?:news\/\?page=\d+|[\w-]+\/\d+[\w-]+.html?)'
with open('test.json','w') as fp:
  fp.write(json.dumps(regex))

Сохраняется так:

"https?:\\/\\/www\\.somewebsite\\.com\\/(?:news\\/\\?page=\\d+|[\\w-]+\\/\\d+[\\w-]+.html?)"

С экранированными решетками.Это нормально, потому что именно так JSON должен быть.

Но когда я загружаю его обратно из файла JSON, он остается прежним.Не возвращайтесь в исходное состояние простым выходом.

Что мне сделать, чтобы решить эту проблему?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...