Passing arguments to & executing, a python script on a remote machine from a python script on local machine

ashish ashish.makani at gmail.com
Wed Sep 19 15:46:33 EDT 2012


Hi PyTutor Folks

Here is my situation

1. I have two machines. Lets call them local & remote.
Both run ubuntu & both have python installed

2. I have a python script, local.py, running on local which needs to pass arguments ( 3/4 string arguments, containing whitespaces like spaces, etc ) to a python script, remote.py running on remote (the remote machine).

I have the following questions:

1. What's the best way to accomplish my task ?
I have researched quite a bit & so far found really conflicting & complex workarounds. 

I googled & found people using several libraries to accomplish ssh to remote machine & execute a command on remote machine.
paramiko ( now forked into the ssh moduke), fabric, pushy ,etc

People who have used any of these libraries, which one would you recommend, as the most apt (simple & easy to use, lightweight, best performance, etc) for my situation ?

2. I would prefer a solution, which does NOT require the installation of extra libraries on the local & remote machines.
If installing external librar

3. Has anybody been able to do this using os.system ?

I tried this
>>> import os
>>> os.system ("ssh remoteuser at remote python remote.py arg1 arg2 arg3")

This worked, but if the arguments i tried to pass, had spaces, i was not able to 'escape' the spaces.

Any & all explanations/links/code snippets/thoughts/ideas/suggestions/feedback/comments/ of the Python tutor community would be greatly appreciated.

Thanks a ton

cheers
ashish

email : 
ashish.makani
domain:gmail.com

“The only way to do great work is to love what you do. If you haven’t found it yet, keep looking. Don’t settle. As with all matters of the heart, you’ll know when you find it.” - Steve Jobs (1955 - 2011)



More information about the Python-list mailing list