Нет вывода из QProcess

Почему следующий текст выводит пустую строку вместо 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()

Я на Windows XP, кстати.

2 ответа

Решение

Потому что нет программы под названием "эхо".

Если вы хотите запустить это через оболочку, вам следует использовать "cmd /C echo Hello QProcess".

В вашей программе также нет проверки ошибок. Если бы вы правильно проверили ошибки, эту ошибку было бы легче обнаружить.

Вы должны предоставить системную среду для вашего процесса.

proc.setEnvironment(QProcess::systemEnvironment());

echo - исключительная команда в Windows, которая не имеет исполняемого файла.

Другие вопросы по тегам