2013-03-08 3 views
4

У меня есть сценарий python на удаленной машине, которую я хочу выполнить с моей локальной машины. Это требует нескольких аргументов, и я буду запускать его, если я буду запускать его на этой машине.Лучший способ запуска сценария python удаленно

python python_parallel.py --num=10 --ssh=/home/user1/path/file.txt 

В настоящее время у меня есть код питона в моей локальной машине, которая запускает скрипт выше:

from optparse import OptionParser 
parser.add_option("-n", "--num", type="int", dest="num_spice",help="Enter the number") 
parser.add_option("-s", "--ssh", dest="ssh_txt",help="Enter the path to the text file") 
num_spice=options.num_spice 
ssh_txt=options.ssh_txt 

(options, args) = parser.parse_args() 

os.system('ssh [email protected] python /home/user1/path/python_parallel.py --num=%s --ssh=%s' %(num_spice, ssh_txt)) 

Есть ли лучший способ сделать это? Я попробовал решение в этом link, но он не дал мне ошибку «ImportError: Нет модуль с именем» SSH

+4

Модуль, связанный с ответом, который вы связываете, кажется прекрасным. Поскольку вы получаете ошибку импорта, возможно, вы не установили модуль. Попробуйте установить его с 'pip' или' easy_install' – Tuim

+0

Спасибо, после установки модуля, теперь я получаю другую ошибку: Файл "python_remote_ssh.py", строка 14, в client.connect (хост, имя пользователя = пользователь) Файл «build/bdist.linux-i686/egg/ssh/client.py», строка 332, в соединении Файл «build/bdist.linux-i686/egg/ssh/client.py», строка 493, in _auth ssh.AuthenticationException: Ошибка аутентификации – Nanditha

ответ

6

Я рекомендую вам посмотреть на plumbum модуль для делать вещи, как это.

Его довольно классный и простой способ запускать локальные команды, и вы можете сделать то же самое с удаленными командами довольно легко (с помощью менеджера контекста).

2

Считаете ли вы использование Fabric? Это очень удобно.

+0

поддерживает ли ткань Windows? Мне нужно запустить скрипт python, расположенный на удаленной машине Windows. –

Смежные вопросы