Я пытаюсь написать функцию в Jupyter Notebook, которая выводит словарь в формат, который я могу вставить в файл VSCode launch.json, и имеет правильный отступ. Но если я использую json.dumps
, формат выглядит не очень хорошо.
def create_dict():
d = {}
d["request"] = "launch"
d["args"] = ["run", "param1=10", "param2=yes", "param3=100", "param4=0", "param5=no"]
return json.dumps(d)
Получается вот так. Независимо от длины строки, это всего лишь одна строка:
'{"request": "launch", "args": ["run", "param1=10", "param2=yes", "param3=100", "param4=0", "param5=no"]}'
Я думал, что могу исправить это, сделав такой отступ, но тогда результат:
def create_dict():
d = {}
d["request"] = "launch"
d["args"] = ["run", "param1=10", "param2=yes", "param3=100", "param4=0", "param5=no"]
return json.dumps(d, indent=4)
'{\n "request": "launch",\n "args": [\n "run",\n "param1=10",\n "param2=yes",\n "param3=100",\n "param4=0",\n "param5=no"\n ]\n}'
Это совсем не то, чего я хочу. Формат, который я ищу, - это именно то, что я получаю, возвращая только словарь, но мне нужны двойные кавычки, чтобы быть совместимым с json.
def create_dict():
d = {}
d["request"] = "launch"
d["args"] = ["run", "param1=10", "param2=yes", "param3=100", "param4=0", "param5=no"]
return d
{'request': 'launch',
'args': ['run',
'param1=10',
'param2=yes',
'param3=100',
'param4=0',
'param5=no']}
Это именно тот формат, который мне нужен, как мне сохранить его и получить двойные кавычки?
1 ответ
Все, что мне нужно, это обернуть json в оператор print
:
def create_dict():
d = {}
d["request"] = "launch"
d["args"] = ["run", "param1=10", "param2=yes", "param3=100", "param4=0", "param5=no"]
return print(json.dumps(d, indent=4))
create_dict()
{
"request": "launch",
"args": [
"run",
"param1=10",
"param2=yes",
"param3=100",
"param4=0",
"param5=no"
]
}
Похожие вопросы
Новые вопросы
python
Python — это мультипарадигмальный многоцелевой язык программирования с динамической типизацией. Он предназначен для быстрого изучения, понимания и использования, а также обеспечивает чистый и унифицированный синтаксис. Обратите внимание, что Python 2 официально не поддерживается с 01.01.2020. Если у вас есть вопросы о версии Python, добавьте тег [python-2.7] или [python-3.x]. При использовании варианта Python (например, Jython, PyPy) или библиотеки (например, Pandas, NumPy) укажите это в тегах.