Python 如何通过gsclient获取远程机器上运行的脚本的输出?

Python 如何通过gsclient获取远程机器上运行的脚本的输出?,python,batch-file,telnet,openedge,progress-4gl,Python,Batch File,Telnet,Openedge,Progress 4gl,我有两台机器,通过telnet连接,PC1和PC2 我正在PC1上运行一个progress-4gl脚本,该脚本通过来自PC2的GSclient存储在PC1上 该脚本运行一个批处理脚本,该批处理脚本启动一个要在PC2上运行的python脚本 该python脚本按预期运行,然后返回PC1上进度脚本中其余代码所需的输出,我猜这就是所谓的“父脚本” 如何将PC2上python脚本的输出返回到PC1上的批处理脚本,然后返回到PC1上的“父脚本” 目前,我正在使用“父级”上的OUTPUT-THROUGH来运

我有两台机器,通过telnet连接,PC1和PC2

我正在PC1上运行一个progress-4gl脚本,该脚本通过来自PC2的GSclient存储在PC1上

该脚本运行一个批处理脚本,该批处理脚本启动一个要在PC2上运行的python脚本

该python脚本按预期运行,然后返回PC1上进度脚本中其余代码所需的输出,我猜这就是所谓的“父脚本”

如何将PC2上python脚本的输出返回到PC1上的批处理脚本,然后返回到PC1上的“父脚本”

目前,我正在使用“父级”上的OUTPUT-THROUGH来运行批处理。 在批处理中,我使用GS_exec.exe在PC2上运行python脚本

进展.p:

def var script_to_run as c.
script_to_run = "path/to/script/to/run/on/PC2/script.py".
output through value("path/to/exe_python.bat " + script_to_run ).
exe_python.bat:

@echo off
set INFILE=%~f1
C:\GS_UTS\GS_Exec.exe "python %INFILE%"
script.py:

codecodecode...
return output
预期结果将是: 进度代码在PC1上运行>批处理在PC1上运行>python代码在PC2上运行>python代码的输出返回到PC1上的批处理>返回到原始进度代码

实际结果是:
在PC1上运行进度代码>在PC1上批处理运行>在PC2上运行python代码>输出不会在任何地方返回,并且在python代码完成后,原始代码只是在没有所需输出的情况下运行。

要从返回进度的python中获取输出,请在进度代码中使用INPUT-THROUGH。(Progress的输入是Python代码的输出。)


要获得Python返回到Progress的输出,您可以在Progress代码中使用INPUT-THROUGH。(Progress的输入是Python代码的输出。)


input-through方法确实会让进度代码等待返回值,但问题是它会占用输出的第一行,当我的Python脚本运行chromedriver时,它会首先打印chromedriver的终端起始行,最后打印实际需要的输出。有没有一种方法可以运行chromedriver而不打印那些终端行,或者通过输入使用最后一条输出行?我发现了:选项。添加_实验_选项('ExcludeSwitchs',['enable-logging'])以禁用chromedriver的终端打印,现在它可以按预期工作了。如果需要处理多行数据,也可以将IMPORT语句放在重复循环中。通过方法输入确实会使进度代码等待返回值,但问题是它需要第一行输出,并且由于我的Python脚本运行chromedriver,它首先打印chromedriver的终端起始线,最后打印实际需要的输出。有没有一种方法可以运行chromedriver而不打印那些终端行,或者通过输入使用最后一条输出行?我发现了:选项。添加_实验_选项('ExcludeSwitchs',['enable-logging'])以禁用chromedriver的终端打印,如果需要处理多行数据,还可以将IMPORT语句放入REPEAT循环中。
define variable script_to_run as character no-undo.
define variable result as character no-undo.

script_to_run = "path/to/script/to/run/on/PC2/script.py".

INPUT THROUGH value( "path/to/exe_python.bat " + script_to_run ).

import unformatted result.
display result.