2012-01-28 8 views
0

私は、C++で書かれたプログラムがある状況があります。それはあなたが最初に始める必要のある種類のサーバーです。その後、別のkonsoleから、コマンドライン引数を渡してプログラムを呼び出すことができます。また、rpcと休憩に基づくアクセスを提供します。したがって、サーバーとのインターフェイスをとるためのrpcまたは残りのライブラリを作成することができます。
私の質問は、プログラムは単なるコマンドライン引数を使って管理できるので、Pythonのサブプロセスモジュールを使用してライブラリ(ラッパー)を構築する方が良いのではないでしょうか?または、この方法に問題がありますか?
別のケースを考えてみましょう。 grepのようなlinuxユーティリティのGUIを構築して、正規表現をテストできるようにしたいとしましょう。それで、サブプロセスを使ってgrepと通信する方が簡単ですか?
ありがとうございます。pythonでsubprocessまたはrpc/restを使用して別のプログラムと通信しますか?

答えて

1

私はあなたがそれらから得ることができる結果が通常それらのインターフェイスがマシンの相互作用のために設計されているので、解析するのが簡単な形式にあるので、rpcまたは残りのインターフェイスのいずれかを使用したいと思います。しかし、コマンドラインインターフェイスは人とのやりとりのために設計されているため、人間の目では解析が容易ですが、出力を受け取る別のプログラムでは必ずしも解析されません。

+0

私はプログラムをリモートで実行できるので、サブプロセスの代わりにRPCまたはRESTを使用することに決めました。 RPCを使用している場合、Googleのプロトタイプはこれに適していますか?または、通常のurllibの方法で行ってもいいですか? – boring

+0

私の意見では、サーバー側ですでに使用されているのと同じ技術を採用することが最善の戦略です。 – jcollado

関連する問題