Ver Mensaje Individual
  #1 (permalink)  
Antiguo 26/02/2011, 11:08
sukoy
 
Fecha de Ingreso: febrero-2011
Mensajes: 54
Antigüedad: 13 años, 2 meses
Puntos: 18
pyqt y pexpect

Tengo un problema al que estoy dando vueltas y no encuentro solución:

Necesito, desde un programa en python qt, que ejecute comandos en shell de bash. Por ejemplo esta función funciona correctamente:

Código:
def showPasswds(self):
		
	if  os.path.exists('passwords.txt'):
		fix= open('passwords.txt',  'a')
	else:
		pas = 'passw'
		print pas
			
		child=pexpect.spawn('/bin/bash -c "ccrypt -d  paswords.txt.cpt"')
		child.expect('Enter decryption key: ')
		child.sendline(pas)
		time.sleep(3)
y esta no:

Código:
def showPasswds(self):
		
	if  os.path.exists('passwords.txt'):
		fix= open('passwords.txt',  'a')
	else:
		cont_ccrypt= QtGui.QInputDialog.getText(self, 'password ccrypt', 'password:')
		pas = cont_ccrypt[0]
		print pas
			
		child=pexpect.spawn('/bin/bash -c "ccrypt -d  paswords.txt.cpt"')
		child.expect('Enter decryption key: ')
		child.sendline(cont_ccrypt[0])
		time.sleep(3)
Siendo la salida de 'print' exactamente la misma. O sea, la variable que obtengo de QInputDialog, no me funciona y si pongo la variable directamente, si.
Alguien me podría ayudar con este error? Alguna pista?
Saludos a tod@s y muchas gracias por su atención.