2013-04-23 94 views
1

我想製作一個可以處理C++和Python插件的C++應用程序。對於C++部分,我很好,但我對Python插件有疑問。掃描目錄以從C++加載Python插件

我想要做的就是擁有一個包含我所有python插件的目錄,應用程序將加載位於此目錄中的所有插件(如Sublime Text 2)。

我的問題是,我不知道如何「解析」一個python腳本,以獲取從我的插件接口繼承的每個類的名稱,以創建它們。

  • boost.python有沒有辦法做到這一點? (我還沒有找到關於它的信息)
  • python是否有我可以用來做到這一點的模塊變量? (我不是如此 很好用python)
  • 我需要使用像antlr這樣的詞法分析器嗎? (看起來很沉重......)
  • 我需要像C++一樣的「創建」功能嗎? (崇高的文字 2似乎並不需要)

最後,你知道處理Python插件的C++應用程序,我可以檢查代碼嗎?

感謝;)

回答

3

這個問題有點加載/尚不清楚,但我給它一個鏡頭。

我的問題是,我不知道如何「解析」一個python腳本來獲取從我的插件接口繼承的每個類的名稱,以創建它們。

這可以通過python腳本輕鬆完成;也許你可以寫一個並從你的C++應用程序中調用它。下面是一段代碼,它找到了python腳本的'* .py',導入它們,並尋找一個名爲PluginInterface的類的子類...不知道你需要做什麼後,所以我把TODO放在那裏。

也許這是足以讓你開始,但它不是真正完整的,你可能會想了解這裏所用的所有的Python庫這樣你就可以在未來保持這個。

+0

這真是我想要的謝謝你;)我沒有想過用python來做這個......因爲我已經在使用boost.python:p – DenisB 2013-04-26 08:12:33