如何从远程服务器上的本地计算机 运行 python 脚本并实时显示输出?

How to run a python script from local machine on a remote server and display the outputs live?

我找到的唯一解决方案是:

cat MyScript.py | ssh username@ip_addr python -

问题在于它不会实时显示该脚本的输出,它会等到程序完成后再显示输出

我在这个脚本中使用 scapy 并用它嗅探数据包,我必须 运行 在那个远程服务器上这样做(不,我不能在那里复制它或在那里写它)

那么解决方法是什么?如何在我的命令行中实时查看脚本的输出?

我正在使用 windows 10.

重要说明:我还认为 ssh 正在使用某种缓冲,并在打印的内容超过缓冲区后发送输出,因为当输出非常大时它确实会突然显示它的一部分,我希望该函数的输出尽快到达我的计算机,而不是在到达缓冲区或其他东西之后

您应该先使用

将文件发送到您的远程计算机
scp MyScript.py username@ip_addre:/path/to/script

然后使用

通过 SSH 连接到您的远程计算机
ssh username@ip_addr

最后,你运行你的脚本正常

python path/to/MyScript.py

编辑

要直接执行脚本而不将其复制到远程计算机,请使用此命令:

ssh user@ip_addr 'python -s' < script.py