我想从本地计算机运行我的python脚本。但是名为script.py
的python脚本位于远程服务器中,它有一些参数和参数。
我试过了:
#!/usr/bin/python
import paramiko
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(hostname='x.x.x.x', port=22, username='root', password='passwd')
stdin, stdout, stderr=ssh.exec_command('python /root/file/script.py') #It has some argument I want to use them from my local machine
for i in stdout.readlines():
print i.strip('\r\n')
ssh.close()
script.py
有一些论点。我应该如何更改此脚本以便使用本地计算机中script.py
的参数?
答案 0 :(得分:0)
由于ssh不支持参数列表,它比人们想象的更棘手:
import sys
try:
from pipes import quote # python 2
except ImportError:
from shlex import quote # python 3
ssh.exec_command('python /root/file/script.py ' +
' '.join([quote(i) for i in sys.argv[1:]])
)
运行python myprogram.py argument\ with" quotes\" and spaces"
时,应将'argument with quotes" and spaces'
作为1参数传递给其他程序。虽然我不会保证帕拉米科总能做正确的事。