Domanda

Perché la seguente stampa una riga vuota al posto di 'Ciao 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()

Sono su Windows XP, btw.

È stato utile?

Soluzione

Perché non c'è programma chiamato "echo".

Se si voleva correre questo attraverso la shell, allora si dovrebbe avere usato "cmd / C echo Ciao QProcess".

Il programma ha anche alcun controllo degli errori. Se avessi controllato per errori correttamente l'errore sarebbe stato più facile da individuare.

Altri suggerimenti

È necessario fornire ambiente di sistema al vostro proc.

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

eco è il comando eccezionale in di Windows che non ha eseguibile.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top