在python中使用subprocess或rpc / rest与另一个程序通信?

时间:2012-01-28 20:57:31

标签: python rest subprocess rpc

我的情况是有一个用c ++编写的程序。它是一种你需要先启动的服务器。然后从另一个konsole你可以调用程序传递命令行参数,它做的东西。它还提供rpc和基于休息的访问。因此,您可以编写一个基于rpc或rest的库来与服务器连接 所以我的问题是,既然程序可以使用单纯的命令行参数来管理,那么使用python的子进程模块并围绕它构建一个库(包装器)是不是更好?或者这种方法有什么问题吗? 考虑另一种情况。假设我想围绕像grep这样的任何linux实用程序构建一个GUI,它允许用户测试正则表达式(就像我们在网站上一样)。因此,使用子进程与grep进行通信是否更容易? 谢谢。

1 个答案:

答案 0 :(得分:1)

我认为我更喜欢使用任何rpc或rest接口,因为您可以从它们获得的结果通常采用易于解析的格式,因为这些接口是为机器交互而设计的。但是,命令行界面是为人类交互而设计的,这意味着输出很容易为人眼解析,但不一定是另一个接收输出的程序。