On Dec 26, 2008, at 8:57, "Emad Nawfal (عماد نوفل)" <emadnaw...@g mail.com> wrote:



2008/12/26 Kent Johnson <ken...@tds.net>
On Fri, Dec 26, 2008 at 8:09 AM, Emad Nawfal (عماد نوفل)
<emadnaw...@gmail.com> wrote:
> suppose I have an external program that prints "testing the subprocess
> module"
> I know I can run it through the commands module like this:
>
>>>> a = commands.getoutput("python3.0 hello.py")
>>>> a
> 'testing the subprocess module'


> I cannot figure out how to do the same thing in the subprocess module. Can
> somebody please explain how to get the same behaviour from, say,
> subprocess.call

Sometthing like this, I think:

proc = subprocess.Popen('python3.0 hello.py',
                      shell=True,
                      stdout=subprocess.PIPE,
                      )
stdout_value = proc.communicate()[0]

(Courtesy of http://blog.doughellmann.com/2007/07/pymotw-subprocess.html )

Kent
Thank you Kent.
It works, but isn't the commands module much simpler? I don't know why it's no more available in Python3.0

Subprocess was designed to replace all the os.popen classes since 2.4.

Commands is a wrapper for os.popen.

Aside from that commands AFAIK is unix only. Therefore it is less portable.

~ro 
_______________________________________________
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor

Reply via email to