Python“ print(”“)”的SSH2流输出未显示在输出中

时间:2019-04-07 02:50:06

标签: php python bash selenium

我将SSH2库用于我的Web应用程序,并且试图从代码中获取python“ print()”结果。问题是,当我连接到SSH2并执行stream_get_contents将输出转换为变量时,它没有显示python print(“”)输出。 python没有输出。当我通过ssh运行脚本时,会得到python打印信息。我需要将python输出转换为PHP变量。 我发现当我执行bash echo“ test”时,它在ssh2上输出。那就是我需要的,但是来自python脚本。我整夜都在尝试解决此问题时,请有人帮忙。

使用echo执行任何bash脚本。但是当使用python输出时,它不会进入相同的回显类型或其他任何类型。

// PHP API脚本,应返回python脚本中的代码

$stream = ssh2_exec($connection, "python -u fetch.py 0000 test");

//剥离了Python脚本,我已经尝试了所有可能的输出。它应该像bash的“回声测试”一样输出

#subprocess.call('echo 0',shell=True)
if elems[0].is_displayed():
    print("Game PIN not valid!")
    subprocess.call('echo invalid',shell=True)
    sys.stdout.write("invalid")
    sys.stdout.flush()

else:
    print ("Game PIN is valid!")
    subprocess.call('echo valid',shell=True)
    sys.stdout.write("valid")
    sys.stdout.flush()

我什么也没得到输出,因为python或SSH2无法将连接保持活动状态,因为python脚本与流分离。 SSH2仅执行脚本,但不返回任何输出。使用“ echo”将返回结果,因为这是要返回的命令。我需要将python输出输出到PHP变量中,以便可以在其他位置执行它。

0 个答案:

没有答案