Foros del Web » Programando para Internet » Python »

[SOLUCIONADO] Problema al abrir la shell de Windows y ejecutar una sentencia

Estas en el tema de Problema al abrir la shell de Windows y ejecutar una sentencia en el foro de Python en Foros del Web. Buenas amigos yo por aca otra vez jeje, estoy creando una pequeña aplicación en python para conectarse a un servidor SSH de la forma mas ...
  #1 (permalink)  
Antiguo 08/07/2015, 22:31
 
Fecha de Ingreso: junio-2009
Ubicación: House
Mensajes: 38
Antigüedad: 14 años, 9 meses
Puntos: 1
Problema al abrir la shell de Windows y ejecutar una sentencia

Buenas amigos yo por aca otra vez jeje, estoy creando una pequeña aplicación en python para conectarse a un servidor SSH de la forma mas simple posible es decir, abriendo una shell y mandandole los parametros adecuados para que se conecte sin problemas, ya lo he logrado en Linux a través de la libreria os de esta forma :

Código Python:
Ver original
  1. os.system("gnome-terminal -e 'bash -c \"sshpass -p PASSWORD ssh [email protected]; exec bash\"'"\)

Como pueden observar el sistema abre un terminal a través de gnome-terminal y le envia una sentencia para conectarse a SSH sin problemas, el problema radica en querer hacerlo en windows este es mi código en Windows:

Código Python:
Ver original
  1. os.system("cmd -e 'echo -c \"putty 192.162.456.123 -l usuario -p 123456 -ssh\"'")
Sin embargo de esta forma solo abre la Shell de windows sin enviarle la cadena para conectarse a SSH y de forma manual si conecta, ahora bien mi pregunta es ¿existe alguna forma de hacerlo como lo hice en Linux? Gracias de antemano..
  #2 (permalink)  
Antiguo 09/07/2015, 09:24
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Problema al abrir la shell de Windows y ejecutar una sentencia

en Windows la forma correcta es cmd /C, no cmd -e
  #3 (permalink)  
Antiguo 10/07/2015, 07:55
 
Fecha de Ingreso: junio-2009
Ubicación: House
Mensajes: 38
Antigüedad: 14 años, 9 meses
Puntos: 1
Respuesta: Problema al abrir la shell de Windows y ejecutar una sentencia

Excelente! Gracias Alvaro me funciono a la perfección, pero tengo otro problemita a la hora de abrir el putty desde este código de python:
Código Python:
Ver original
  1. os.system("cmd /C putty")
dice lo siguiente
Cita:
putty"no se reconoce como un comando interno o externo, programa o archivo por lotes ejecutable.
, pero si quiero abrir otra aplicación como notepad por ejemplo, abre sin problemas alguno
Código Python:
Ver original
  1. os.system("cmd /C notepad")
, cabe destacar que el ejecutable de putty esta dentro de la carpeta system32, y en la variable de entorno Path esta en la ruta del system32 además agregue todos los permisos de RW. Por otro lado si abro una shell manualmente y coloco putty abre la terminal sin problemas alguno, el problema radica en querer abrir la terminal de putty desde python he investigado y la posible solución que consegui fue lo del Path, sin embargo no me funciona soy muy novato usando windows xD ¿Tendras alguna idea ? Muchísimas gracias de antemano.
  #4 (permalink)  
Antiguo 10/07/2015, 10:58
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Problema al abrir la shell de Windows y ejecutar una sentencia

Prueba con la ruta completa, si aún así no funciona, entonces el problema no es %PATH%
  #5 (permalink)  
Antiguo 10/07/2015, 22:22
 
Fecha de Ingreso: junio-2009
Ubicación: House
Mensajes: 38
Antigüedad: 14 años, 9 meses
Puntos: 1
Respuesta: Problema al abrir la shell de Windows y ejecutar una sentencia

Ya solucione el problema tuve que colocar el ejecutable de putty en la misma carpeta donde se ejecuta el script antes mencionado ya con eso reconoció el cliente de putty, aunque me queda la duda de por que si putty esta en la carpeta System32 y desde la shell lo reconoce y no desde python, sin embargo esa duda no corresponde a esta sección, de igual forma gracias AlvaroG por tu ayuda ! :)

Etiquetas: sentencia, shell, windows
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 08:58.