Вопрос

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

Это было полезно?

Решение

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

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

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

Другие советы

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top