newbie: popen question
half.italian at gmail.com
Thu May 28 10:11:17 CEST 2009
On May 27, 6:10 pm, thebiggestbangthe... at gmail.com wrote:
> hello everyone :-),
> I am a newbie to python. I am trying to run a
> bash script from within a python program. I would greatly appreciate
> any pointers/comments about how to get around the problem I am facing.
> I want to run bash script: code.sh from within a python program.
> code.sh needs to be run like so from the command line
> $ sudo code.sh arg1 arg2
> I read up on some documentation but am not very clear about how to use
> popen. I want to relegate the shell to a background process, but it
> needs to accept the sudo passwd too!
> I have tried
> p = subprocess.Popen(['/bin/bash', 'sudo '+mypath+'code.sh '+arg1+'
> I tried some code from stackoverflow.com/questions/694000/why-doesnt-
> nothing really happens when this executes, the PIPE option pshes it to
> the background and I can't push in the sudo passwd. Can someone please
> give me an idea of how to go about this.
> To recap, I want to run a shell script, which needs to be started with
> sudo, and then push it into the background.
Your best bet is to make sudo not ask for a password. :) If you
don't have the rights, then you can use pexpect to do what you want to
See the second example on that page.
child = pexpect.spawn('scp foo myname at host.example.com:.')
More information about the Python-list