У меня есть скрипт bash, который получает данные от json. Я хотел бы делегировать json-синтаксический анализ на python и управлять другими вещами с помощью bash. Так что я попытался следующие, и она работала:Python one-liner with if block
$cat json.txt | python -c "import sys, json; app_data=json.load(sys.stdin); print app_data['item'][0]['id'];"
я решил проверить размер списка:
$cat json.txt | python -c 'import sys, json; app_data=json.load(sys.stdin); if len(app_data['item'])==1: print '1 item:'; print app_data['item'][0]['id']'
Это не удалось с SyntaxError: недопустимый синтаксис.
Проверка размера списка (код выше) работает из отдельного файла .py в целом. Я бы предпочел использовать один-лайнер, чтобы он был прост и хранился вместе в сценарии оболочки.
Можно ли запускать python one-liner с некоторой логикой (например, import json) и if block?