user1638145 user1638145 - 11 months ago 69
Python Question

Running bash script from within python

I have a problem with the following code:

import subprocess
print "start""")
print "end"

sleep 10

I want the "end" to be printed after 10s. (I know that this is a dumb example, I could simply sleep within python, but this simple file was just as a test)

Answer Source

Making executable and adding shell=True to the parameter list (as suggested in previous answers) works ok. Depending on the search path, you may also need to add ./ or some other appropriate path. (Ie, change "" to "./".)

The shell=True parameter is not needed (under a Posix system like Linux) if the first line of the bash script is a path to a shell; for example, #!/bin/bash.