views:

242

answers:

1

Why does the following print a blank line instead of 'Hello QProcess'?

import sys

from PyQt4 import QtGui, QtCore

proc = QtCore.QProcess()
proc.start("echo 'Hello QProcess'")
proc.waitForFinished()
result = proc.readAll()
print result
proc.close()

I'm on Windows XP, btw.

+2  A: 

Because there's no program called "echo".

If you wanted to run this through the shell then you should have used "cmd /C echo Hello QProcess".

Your program also has no error checking. If you'd checked for errors properly the mistake would have been easier to spot.

Intransigent Parsnip