Общаться с другой программой, используя подпроцесс или rpc / rest в python? - PullRequest
0 голосов
/ 29 января 2012

У меня есть ситуация, когда есть программа, написанная на c ++.Это своего рода сервер, который вам нужно запустить в первую очередь.Затем из другой консоли вы можете вызвать программу, передавая аргументы командной строки, и она все сделает.Также это обеспечивает доступ на основе rpc и отдыха.Таким образом, вы можете написать библиотеку на основе rpc или rest для взаимодействия с сервером.
Поэтому мой вопрос таков: поскольку программой можно управлять с помощью простых аргументов командной строки, не лучше ли использовать модуль подпроцесса python и собрать библиотекуобертка) вокруг него?Или есть какие-то проблемы с этим методом?
Рассмотрим другой случай.Скажем, я хотел построить GUI вокруг любой утилиты linux, такой как grep, которая позволяет пользователю тестировать регулярные выражения (как у нас на сайтах).Так не проще ли общаться с grep с помощью подпроцесса?
Спасибо.

1 Ответ

1 голос
/ 29 января 2012

Я думаю, что предпочел бы использовать любой из интерфейсов rpc или rest, потому что результаты, которые вы можете получить от них, обычно представлены в формате, который легко анализировать, поскольку эти интерфейсы были разработаны для взаимодействия с машиной. Однако интерфейс командной строки предназначен для взаимодействия с человеком, и это означает, что выходные данные легко анализировать для человеческого глаза, но не обязательно с помощью другой программы, которая получает выходные данные.

...