python3: help with subprocess

Alan alanwilter at gmail.com
Wed Jul 14 11:38:08 EDT 2010


Hi there,

Module commands is gone in python3, so I am trying subprocess. So please I
would appreciate if someone can tell me how to do this better:

before I had:

cmd = 'uname -a'
out = commands.getoutput(cmd)

'Darwin amadeus.local 10.4.0 Darwin Kernel Version 10.4.0: Fri Apr 23
18:28:53 PDT 2010; root:xnu-1504.7.4~1/RELEASE_I386 i386 i386 MacBookPro5,2
Darwin'

now:

out = sub.Popen(cmd, shell=True, stderr = sub.STDOUT, stdout =
sub.PIPE).communicate()[0][:-1]

b'Darwin amadeus.local 10.4.0 Darwin Kernel Version 10.4.0: Fri Apr 23
18:28:53 PDT 2010; root:xnu-1504.7.4~1/RELEASE_I386 i386 i386 MacBookPro5,2
Darwin'

Yes, it's ugly. the [:-1] above is to get read of the last '\n' which with
getoutputs I didn't have. But what's giving headache is this "b'..." in the
beginning.

Can someone explain, point me to where I can now about it and how to make
this better? I wanted a plain string in out.

Many thanks in advance,

Alan
-- 
Alan Wilter S. da Silva, D.Sc. - CCPN Research Associate
Department of Biochemistry, University of Cambridge.
80 Tennis Court Road, Cambridge CB2 1GA, UK.
>>http://www.bio.cam.ac.uk/~awd28<<
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-list/attachments/20100714/8db88295/attachment.html>


More information about the Python-list mailing list