我希望在远程计算机上运行本地磁盘上的 python 脚本。我曾经这样运行 bash 脚本:
cat script.sh | ssh user@machine
但我不知道如何对 Python 脚本做同样的事情。
答案1
正如其他人所说,将其通过管道传输到 ssh 中。但你要做的是给出适当的论据。您需要添加-u
以正确从 ssh 获取输出。并想要添加-
处理输出和后面的参数。
ssh user@host python -u - < script.py
如果您想提供命令行参数,请将它们添加到-
.
ssh user@host python -u - --opt arg1 arg2 < script.py
答案2
使用 python 的 remrunner 包。它将本地脚本复制到远程计算机,然后执行它们。
pip install remrunner
python
>> from rumrunner import runner
>> r = runner.Runner(REMOTE_HOST_IPADDR, REMOTE_HOST_USER)
>> rval, stdout, stderr = r.run('/path/to/local/script.py')
>> if rval:
print stderr
else:
print stdout