我正在尝试使用Javascript调用Python脚本。另外,我必须从Javascript向Python脚本传递变量。在Python中返回结果之后,我想将这个结果传递回Javascript。我不知道最好的办法是什么。你知道吗
我看到过使用flask和json的各种实现,但我不知道哪种方法是最好的。你知道吗
举个例子,这就是我要做的:
Javascript.js文件
myJSVariable1 = “Hello “
myJSVariable2 = “World!”
result = callPythonScript(myJSVariable1, myJSVariable2)
console.log(result)
pythonScript.py文件
print(myJSVariable1, myJSVariable2)
在这个例子中,我希望控制台.log(结果)返回“你好,世界!“作为pythonScript.py文件打印与myJSVariable2连接的myJSVariable1的结果。你知道吗
有人对这样做有什么建议吗?你知道吗
变量是一个与一种编程语言紧密相连的概念,事实上甚至与一种编程语言实现紧密相连。在编程语言之间传递变量,甚至在相同编程语言的不同实现之间传递变量通常是不可能的,除非那些实现已经被特别编写成允许这种多语言编程风格。你知道吗
据我所知,有四种编程语言实现框架明确设计为允许编程语言实现以支持多语言编程的方式编写:
然而,不幸的是,似乎没有一个同时具有生产质量的Python和ECMAScript实现:
Parrot被遗弃,自2016-02-16以来没有发布,自2017-10-02以来没有提交。你知道吗
此外,Parrot的Python实现中没有一个接近于生产就绪状态:
Pynie
pie-thon
Parrot的ECMAScript实现也是如此:
Parrot/ecmascript
在Rubinius上,目前除了Ruby之外,没有任何语言实现可以用于生产:
一个精简的、冻结的DLR版本作为.NET的一部分发布,但是微软自己已经放弃了它。It is still being developed作为IronLanguages项目的一部分。你知道吗
不幸的是,DLR上的所有ECMAScript实现都已被放弃:
ManagedJScript是Microsoft的一个官方ECMAScript实现,它本来是DLR的海报子系统之一,但它从未发布,而且早就被放弃了。
松露是积极维护,积极开发,生产准备。你知道吗
不幸的是,这两种针对Truffle的Python实现目前都还在开发中:
GraalPython
因此,正如您所看到的,虽然有一些多语言编程语言实现框架,这些框架也有一些Python和ECMAScript实现,但不幸的是,没有一个框架同时具有Python和ECMAScript的产品级实现:DLR有Python(2),但没有ECMAScript,Truffle有ECMAScript,但没有Python。你知道吗
但是,传递变量的想法还有另一个问题:Python和ECMAScript都没有具体化变量,在这些语言中,变量不是对象(或原语)。并且只能传递值,即对象和基本体。你知道吗
相关问题 更多 >
编程相关推荐