如何从IBM的Python为PASE调用RPG程序?在
我试过了操作系统, subprocess.popen/call但他们没用。在
更新
我在IBM的网站上发现了一些东西。我尝试了下面的方法;它没有给我任何错误,但是RPG程序没有执行(这意味着它不会给出预期的结果)。在
from itoolkit import *
from itoolkit.lib.ilibcall import *
itool = iToolKit()
itransport = iLibCall()
itool.add(iCmd('CALL', 'CALL TEMPLIB/TEMPPGM'))
itool.call(itransport)
此答案假定您使用的是iSeriesPython。如果您不使用IBM的一个eem>发行版。在
首先,
os.system
应该可以工作。它只是将一个命令传递到命令行,所以您可以它应该会起作用的。在
但是,就像你在命令行上调用的任何程序一样,你不能以这种方式接收参数。如果需要获取输出参数的值,请使用
os400.Program
调用任何*PGM对象。在documentation不是最全面或最新的,但它告诉你你需要知道什么。在本例中,由于您的示例没有参数,所以我不在我的示例中包含参数:
^{pr2}$不过,通常您需要参数。以下是文档中的示例:
基于XMLSERVICE的pythonitoolkit的文档是here,特别是您想要的iPgm。在
一个没有参数的简单示例是:
另一种指定库的解决方案是首先添加一个
iCmd
操作,它将TEMPLIB
添加到库列表中。你可以在这里找到更多的例子:http://python-itoolkit.readthedocs.io/en/latest/examples.html我不是Python方面的专家,但请查看youngi专业网站上的iPgm。在
相关问题 更多 >
编程相关推荐