getting a string as the return value from a system command

Catherine Moroney Catherine.M.Moroney at jpl.nasa.gov
Fri Apr 16 22:46:15 CEST 2010


Robert Kern wrote:
> 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()
> 

Thanks, I knew there had to be a more elegant way of doing that.

Catherine



More information about the Python-list mailing list