At Thursday 11/1/2007 14:09, nic wrote:
import os
pstr = r'"c:\Program Files\Grisoft\AVG Free\avgscan.exe" "c:\program
files\temp1\test1.txt"'
a = os.popen(pstr)
print a.read()
I've confirmed the string I'm inputting to os.popen is EXACTLY the same
as the one I can successfully execute manually in command prompt, so
when I go:
print pstr, it yields:
"c:\Program Files\Grisoft\AVG Free\avgscan.exe" "c:\program
files\temp1\test1.txt"
The problem remains popen won't execute this line as it does when
inputted manually to command prompt.
I have AVG so I tried this example. That's not the problem. popen
works ok, avgscan is executed. But the avgscan program does *not* use
stdout nor stderr to write to the console, so popen can't capture its output.
You can confirm this at the command prompt:
"c:\Program Files\Grisoft\AVG Free\avgscan.exe" "c:\program
files\temp1\test1.txt" >output.txt 2>&1
You will see the usual progress messages from avgscan *on screen*,
and when you type output.txt, it's empty. avgscan appears to write
directly to the console.
You may use the /REPORT option; avgscan /? for details.
--
Gabriel Genellina
Softlab SRL
__________________________________________________
Preguntá. Respondé. Descubrí.
Todo lo que querías saber, y lo que ni imaginabas,
está en Yahoo! Respuestas (Beta).
¡Probalo ya!
http://www.yahoo.com.ar/respuestas
--
http://mail.python.org/mailman/listinfo/python-list