我在Python中创建了一个模块,它提供了大约十几个功能。虽然它主要在Python中使用,但是有很多旧版用户会从Perl调用它。
插入此模块的最佳方法是什么?我的想法是:
system
调用有任何建议吗?
答案 0 :(得分:19)
另一个选择是使用Inline::Python
直接在Perl脚本中内联Python。
这可能比其他解决方案更简单,只需要一个额外的模块。
答案 1 :(得分:9)
在短期内,最简单的解决方案是使用Inline :: Python。紧接着调用命令行脚本。
从长远来看,使用服务器提供RPC功能或只是调用命令行脚本将为您提供最具前瞻性的解决方案。
为什么?
因为这种方式与Perl或Python无关,因为它是用于构建使用库提供的服务的系统的语言。这两种方法都可以创建一个清晰的,独立于语言的界面,您可以将其用于您采用的任何开发环境。
根据您的需要,任何呈现的选项都可能是“最佳选择”。根据您的需求随时间的变化情况,可能会将不同的选择显示为“最佳”。
我的方法是提出几个问题:
您多久更换一次开发工具。你已经从Perl切换到了Python。你是从Tcl开始去Perl吗?你会在1年,5年或10年内转向令人兴奋的新语言X吗?如果您经常更换工具(无论这意味着什么),请强调跨工具兼容性。
速度有多快?命令行解决方案的启动时间是否正常? Inline :: Python是否会使事情变得太慢(你还在初始化Python解释器,它只是嵌入在你的Perl解释器中)?
根据这些问题的答案,我会做最简单的事情。
我的猜测是按顺序表示:
答案 2 :(得分:3)
提供功能作为命令行实用程序并进行系统调用
工作非常好。这就是使用Python(和Perl)这样的程序的方式。