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

2024-06-16 13:49:21 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两台机器,通过telnet连接,PC1和PC2。你知道吗

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

该脚本运行一个批处理脚本,该脚本启动一个在PC2上运行的python脚本。你知道吗

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

如何将PC2上python脚本的输出返回到PC1上的批处理脚本,以及PC1上的“父脚本”?你知道吗

目前,我正在“parent”上使用OUTPUT THROUGH来运行批处理。 我用的是GS_执行.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 ).

执行_Python.bat地址:

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

你知道吗脚本.py地址:

codecodecode...
return output

预期结果是: 进度代码在PC1上运行>;批处理在PC1上运行>;python代码在PC2上运行>;python代码的输出在PC1上返回到批处理>;返回到原始进度代码。你知道吗

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


Tags: topathrun代码pygt脚本gs
1条回答
网友
1楼 · 发布于 2024-06-16 13:49:21

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

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.

相关问题 更多 >