Нет вывода из 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, которая не имеет исполняемого файла.