Foros del Web » Programando para Internet » Python »

pyqt y pexpect

Estas en el tema de pyqt y pexpect en el foro de Python en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 26/02/2011, 11:08
 
Fecha de Ingreso: febrero-2011
Mensajes: 54
Antigüedad: 13 años, 8 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.
  #2 (permalink)  
Antiguo 26/02/2011, 18:06
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 8 meses
Puntos: 1360
Respuesta: pyqt y pexpect

en lugar de imprimir pas
Código Python:
Ver original
  1. cont_ccrypt= QtGui.QInputDialog.getText(self, 'password ccrypt', 'password:')
  2. pas = cont_ccrypt[0]
  3. print pas, type(pas)
  4. print str(pas), type(str(pas))
QString diferente de string
  #3 (permalink)  
Antiguo 27/02/2011, 03:29
 
Fecha de Ingreso: febrero-2011
Mensajes: 54
Antigüedad: 13 años, 8 meses
Puntos: 18
Respuesta: pyqt y pexpect

Funciona!!
Hay que convertir la variable a string. Y yo no habia caido en ello!!

Gracias por la ayuda Razpeitia.

Etiquetas: pyqt
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:42.