我在我的本地机器上有一个
python脚本.有没有办法在远程机器上运行这个脚本.我的意思是python脚本应该在本地机器上,但执行应该在远程机器上进行,并将输出返回到本地机器. 最佳答案 pathos包有一些工具,可以很容易地与远程机器进行交互,所有工具都直接来自python ……你也可以轻松捕获stdout或其他管道响应并将它们返回给你的调用脚本.
所以,假设您有一个本地脚本hello.py,如下所示:
# 'hello.py'
import os
print os.system('hostname')
他们可以推送脚本并像这样执行它:
>>> import pathos
>>> c = pathos.core.copy('hello.py', destination='guido.remote.com:~/hello.py')
>>> s = pathos.core.execute('python hello.py', host='guido.remote.com')
>>> print s.response()
guido
0
>>> s.pid()
37429
还有ssh-tunneling,设置守护进程,远程端口pickle,以及处理杀死远程进程……如果你需要那些东西.
pathos提供了远程命令的抽象,默认是ssh和scp ……但很容易看出它在做什么.
>>> s.message
'ssh -q guido.remote.com "python hello.py"'
>>> c.message
'scp -q -r hello.py guido.remote.com:~/hello.py'