getting a string as the return value from a system command

Robert Kern robert.kern at gmail.com
Fri Apr 16 16:09:01 EDT 2010


On 2010-04-16 14:06 PM, Catherine Moroney wrote:
> Hello,
>
> I want to call a system command (such as uname) that returns a string,
> and then store that output in a string variable in my python program.
>
> What is the recommended/most-concise way of doing this?
>
> I could always create a temporary file, call the "subprocess.Popen"
> module with the temporary file as the stdout argument, and then
> re-open that temporary file and read in its contents. This seems
> to be awfully long way of doing this, and I was wondering about
> alternate ways of accomplishing this task.

p = subprocess.Popen(['uname', '-srvi'], stdout=subprocess.PIPE,
     stderr=subprocess.PIPE)
stdout, stderr = p.communicate()

-- 
Robert Kern

"I have come to believe that the whole world is an enigma, a harmless enigma
  that is made terrible by our own mad attempt to interpret it as though it had
  an underlying truth."
   -- Umberto Eco




More information about the Python-list mailing list