subprocess: returncode v. poll()

7stud bbxx789_05ss at yahoo.com
Thu Sep 20 15:25:12 EDT 2007


On Sep 20, 1:17 pm, 7stud <bbxx789_0... at yahoo.com> wrote:
> Hi,
>
> What is the difference between:
>
> 1) getting the returncode directly from the subprocess object
> 2) calling poll() on the subprocess object?
>
> Here is an example:
>
> import subprocess
>
> p = subprocess.Popen("ls", stdout=subprocess.PIPE)
> print p.returncode
> print p.poll()
> print
>
> print p.stdout.read()[:5]
> print
>
> print p.returncode
> print p.poll()
> print p.returncode
>
> --output:--
> None
> None
>
> 10tes
>
> None
> 0
> 0

Hmm....after a little more testing, I don't think returncode
dynamically updates:

import subprocess
import time

p = subprocess.Popen("ls", stdout=subprocess.PIPE)

print p.returncode
time.sleep(5)
print p.returncode
time.sleep(2)
print p.returncode

print p.stdout.read()[:5]
print p.returncode

--output:--
None
None
None
10tes
None





More information about the Python-list mailing list