Sunday, 15 June 2014

windows - python - path printed inside output -



windows - python - path printed inside output -

i have py file inside:

from subprocess import popen programme = "path program.exe" file = "path file used program.exe" p = popen([program, file]) print p.stdout.read()

and when do:

c:\>python file.py

in cmd got

#output #.... #... more output c:\:>#...more output #.... #...here finishes output

why appearing "c:\>" ? because popen in order run command gave... needed create new process?

thanks in advance

pd: using windows server 2008 python 2.7.5

the python script ends after starting process, , prompt returns (printing c:\>). subprocess still running, , stdout , stderr defaults write in console if not redirected, continues output , writes on returned prompt.

what want wait subprocess end, first

subprocess.call([program, file])

(if you're printing stdout there's no need that's default.)

if need access stdout, redirect stdout , utilize communicate.

p = subprocess.popen([program, file], stdout=subprocess.pipe, stderr=subprocess.pipe) stdout, stderr = p.communicate() print stdout

python windows subprocess popen

No comments:

Post a Comment