如何使用Haxe编码的程序执行外部Python脚本?

时间:2016-02-18 02:22:54

标签: python json haxe

我有一个Haxe程序,我需要从Wordnik API中检索数据。 以下是Wordnik中支持的平台列表: http://developer.wordnik.com/#!/libraries

我没有Wordnik支持的所有这些语言的经验。但是,我认为Python是将Wordnik API连接到我的Haxe程序最可行的方法,因为Python是一种脚本语言,可以从终端命令执行。

也许像Haxe程序这样的东西用一些参数执行Python。然后Python脚本从Wordnik中检索数据,然后将其编译为JSON或.txt文件。最后返回Haxe程序来解析JSON或.txt文件。我不确定这件事是如何工作的,因此我在这里寻求指导:)。

1 个答案:

答案 0 :(得分:5)

要注意的一件事是使用库的Python 3 version,而不是在该概述页面上链接的Python 2.7 one。 Haxe的Python目标only supports version 3 or higher

不需要将Python程序用作Haxe和Wordnik API之间的接口 - 您可以编写externs来描述直接从Haxe直接使用它的接口。对于一个非常简单的类wordnik.models.Labelextern可能如下所示:

package wordnik.models;

@:pythonImport("wordnik.models.Label", "Label")
extern class Label
{
    public var text:String;
    public var type:String;

    public function new() 
    {
    }
}

然后,您可以使用Haxe的API:

package;

import python.Lib;
import wordnik.models.Label;

class Main 
{
    static function main() 
    {
        var label = new Label();
        label.text = "Test";
        trace(label.text);
    }
}

您可以在the Haxe standard library中找到很多Python externs示例。它还包含表达更复杂的事物的包装,例如KwArgs