我一直在寻找一种在Delphi代码中调用Python函数(使用Python 4Delphi)而不直接需要TPythonEngine.ExecStrings执行的方法。
我的基本想法是加载一个模块,例如,example.py
看起来像:
def DoExample(pStr: str) -> str:
pStr = "Example: " + pStr
return pStr
字符串
并称之为(免责声明:我想拥有的行为示例,而不是实际的P4 D行为):
MyPythonEngine := TPythonEngine.Create(nil);
{necessary version, flags and LoadDll}
MyPythonModule := TPythonModule.Create(nil);
{necessary configs again}
MyImportedFunction := {Load the DoExample somehow and store it in this variable}
ResultOfMyImportedFunction := MyImportedFunction("This is an example"); {This should be Example: This is an example}
型
我也可以通过调整example.py
来实现我的目标:
import sys
def DoExample(pStr: str) -> str:
pStr = "Example: " + pStr
return pStr
DoExample(sys.argv[1])
型
就像我在《圣经》中所说的那样,仍然需要得到它的结果。
我已经仔细阅读了演示,没有找到一个合理的答案,我的问题。也没有进一步阅读的文档(或至少我找不到它)。
此外,由于缺乏文档,我不知道这种方法是否可行。
我想加载一个python脚本,使用它定义的一个函数,在 Delphi 中调用它,并将结果检索到一个变量中。
提前感谢!新年快乐。
1条答案
按热度按时间qni6mghb1#
来自pycripter在Delphi-Praxis论坛上的回答:
字符串