Новости | FAQ | Авторы | Документация | В действии | Библиотека |
Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
Sumo 06.08.2020 18:06 / 06.08.2020 18:21
... конструктор возвращает объект file с stdout и stderr. Проверяете статус и если он не равен нулю, то выбрасываете, например, эксепшн в Парсере. Пример:@tabulate[aTable;aOptions][locals] $lTable[^aTable.csv-string[ $.separator[^#09] $.encloser[] ]] $lArgs[^table::create{arg}] ^lArgs.append{--header} ^lArgs.append{--sep=\t} ^lArgs.append{--format=^if(def $aOptions.format){$aOptions.format}{simple}} $result[^file::exec[../path/to/tabulate;$.stdin[$lTable];$lArgs]] ^if($result.status != 0){ ^throw[tabulate.fail;Tabulate was failed ($result.status);$result.stdout / $result.stderr] } $result[$result.text]В Питоне несложно перенести логирование в stdout, но этого делать не требуется. Парсер прекрасно вернет и статус и оба стандартных потока.