簡體   English   中英

從Perl調用Python模塊

[英]Calling a Python module from Perl

我在Python中創建了一個模塊,它提供了大約十幾個功能。 雖然它主要在Python中使用,但是有很多舊版用戶將從Perl調用它。

插入此模塊的最佳方法是什么? 我的想法是:

  1. 提供功能作為命令行實用程序並進行system調用
  2. 創建某種服務器並處理RPC調用(例如,通過JSON RPC)

有什么建議嗎?

另一種選擇是使用Inline::Python直接在Perl腳本中Inline::Python

這可能比其他解決方案更簡單,只需要一個額外的模塊。

在短期內,最簡單的解決方案是使用Inline :: Python。 緊接着調用命令行腳本。

從長遠來看,使用服務器提供RPC功能或只是調用命令行腳本將為您提供最具前瞻性的解決方案。

為什么?

因為這種方式與Perl或Python無關,因為它是用於構建使用庫提供的服務的系統的語言。 這兩種方法都可以創建一個清晰的,獨立於語言的界面,您可以將其用於您采用的任何開發環境

根據您的需要,任何呈現的選項都可能是“最佳選擇”。 根據您的需求隨時間的變化而變化,可能會將不同的選擇顯示為“最佳”。

我的方法是提出幾個問題:

您多久更換一次開發工具。 你已經從Perl切換到了Python。 你是從Tcl開始去Perl嗎? 你會在1年,5年或10年內轉向令人興奮的新語言X嗎? 如果您經常更改工具(無論這意味着什么),請強調跨工具兼容性。

速度有多快? 命令行解決方案的啟動時間是否正常? Inline :: Python是否會使事情變得過於緩慢(您仍在初始化Python解釋器,它只是嵌入在Perl解釋器中)?

根據這些問題的答案,我會做最簡單的事情

我的猜測是按順序表示:

  1. 內嵌:: Python的
  2. 命令行腳本
  3. 構建RPC服務器

提供功能作為命令行實用程序並進行系統調用

工作真的很好。 這就是使用Python(和Per​​l)這樣的程序的方式。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM