Проблема : Учитывая объект JSON. Как симпатично распечатать его из оболочки/терминала/командной строки, используя Python One-Liner?
Минимальный пример : Вы дали следующий объект JSON:
{"Alice": "24", "Bob": "28"}
И вы хотите получить следующий вывод печати:
{ "Alice": "24", "Bob": "28" }
Как выполнить это, используя Python One-Liner?
Метод 0: Python Program + JSON.dump
Способ по умолчанию для достижения этого В сценарии Python это импортировать JSON
Библиотека для решения проблемы:
Упражнение : Выполните скрипт. Какой вывод? Теперь измените количество мест вдавливания до 2!
Тем не менее, что, если вы хотите запустить его с терминала операционной системы в качестве команды One-Liner? Давайте погрузимся в четыре лучших пути!
Способ 1: Терминал/оболочка/командная строка с эхо + труба + json.tool
Команда Echo печатает JSON на стандартный выход. Это затем трубопровод как стандартный вход в json.tool
Программа, которая довольно печатает объект JSON к стандартному выводу:
echo '{"Alice": "24", "Bob": "28"}' | python -m json.tool
Вывод является красивее:
{ "Alice": "24", "Bob": "28" }
Оператор трубы |.
Перенаправляет вывод на стандартный вход сценария Python.
Способ 2: Используйте файл в качестве ввода с json.tool
Альтернатива простая:
python -m json.tool file.json
Этот метод лучше всего лучше, если вы сохранили свой объект JSON в file.json
файл. Если файл содержит те же данные, вывод такой же тоже:
{ "Alice": "24", "Bob": "28" }
Метод 3: Используйте веб-ресурс с json.tool
Если ваш файл JSON находится на данном URL https://example.com
Вы лучше всего используете следующий одноклассник:
curl https://example.com/ | python -m json.tool
Опять же, предполагая, что тот же объект JSON, находящийся на сервере, вывод одинаков:
{ "Alice": "24", "Bob": "28" }
Метод 4: Используйте JQ
Это самый простой способ, но это предполагает, что у вас есть JQ
Программа установлена на вашем компьютере. Вы можете скачать JQ
Вот а также прочитал о отличных ресурсах быстрого запуска здесь Отказ
Давайте погрузимся в код, который вы можете работать в вашей оболочке:
jq <<< '{ "foo": "lorem", "bar": "ipsum" }' { "bar": "ipsum", "foo": "lorem" }
<<<
Оператор передает строку справа на стандартную вход команды слева. Вы можете узнать больше об этом специальном операторе труб в это Так нить.
Хотя этот метод не является сценарием Python, он по-прежнему красиво работает при выполнении из оболочки Linux или MacOS или строки Windows PowerShell/командной строки.
Python One-Liners Книга
Python Programmemers улучшит свои навыки информатики с этими полезными одноклассниками.
Python One-listers научит вас читать и писать «одноклассники»: краткие заявления полезных функций, упакованных в одну строку кода. Вы узнаете, как систематически распаковать и понимать любую строку кода Python и писать красноречие, мощно сжатый Python, как эксперт.
Пять главных глав на пять глав обложки советы и трюки, регулярные выражения, машинное обучение, самые темы науки о данных и полезные алгоритмы. Подробные объяснения одноклассников вводят ключевые концепции компьютерных наук и повысить ваши кодировки и аналитические навыки. Вы узнаете о продвинутых функциях Python, такие как понимание списка, нарезки, нарезки, функции лямбда, регулярные выражения, карта и уменьшения функций и нарезки нарезки. Вы также узнаете, как:
• Используйте структуры данных для решения реальных проблем, такие как использование булевой индексации для поиска городов с загрязнением выше среднего • Используйте Numpy Basics, такие как массив, форма, ось, тип, вещание, расширенная индексация, нарезка, сортировка, поиск, агрегация и статистика • Рассчитайте базовую статистику многомерных массивов данных и алгоритмы K-означает для безоговорочного обучения • Создайте более усовершенствованные регулярные выражения с помощью группировки и названных групп, отрицательные LookAeads, сбежавшие символы, пробелы, наборы символов (и наборы отрицательных символов) и жадные/негридические операторы • Понимать широкий ассортимент темы компьютерных наук, включая анаграммы, палиндромы, сверты, перестановки, факториалы, простые числа, цифры фибоначчи, обфускации, поиск и алгоритмическую сортировку
К концу книги вы узнаете, как писать Python в его самых утонченных, и создавать краткие, красивые куски «Python Art» в простой строке.
Получите свой Python One-Liners сейчас !!
Работая в качестве исследователя в распределенных системах, доктор Кристиан Майер нашел свою любовь к учению студентов компьютерных наук.
Чтобы помочь студентам достичь более высоких уровней успеха Python, он основал сайт программирования образования Finxter.com Отказ Он автор популярной книги программирования Python One-listers (Nostarch 2020), Coauthor of Кофе-брейк Python Серия самооставленных книг, энтузиаста компьютерных наук, Фрилансера и владелец одного из лучших 10 крупнейших Питон блоги по всему миру.
Его страсти пишут, чтение и кодирование. Но его величайшая страсть состоит в том, чтобы служить стремлению кодер через Finxter и помогать им повысить свои навыки. Вы можете присоединиться к его бесплатной академии электронной почты здесь.