Foros del Web » Programando para Internet » Python »

[SOLUCIONADO] Problema Python

Estas en el tema de Problema Python en el foro de Python en Foros del Web. AVISO!!Soy novato osea que puedo cometer errores de tonto.Bueno,pues resulta que he hecho un codigo en python para al encender el ordenador me pregunte que ...
  #1 (permalink)  
Antiguo 20/11/2013, 04:49
 
Fecha de Ingreso: noviembre-2013
Mensajes: 61
Antigüedad: 11 años
Puntos: 0
Problema Python

AVISO!!Soy novato osea que puedo cometer errores de tonto.Bueno,pues resulta que he hecho un codigo en python para al encender el ordenador me pregunte que quiero hacer y segun que le diga me abra unos programas u otros.El problema es que le especifico la ruta de la aplicacion no se me abre.El codigo lo dejo aqui,esta sin acabar.


Código Python:
Ver original
  1. #!/usr/bin/env python
  2. # Este archivo usa el encoding: utf-8
  3. import os
  4. print "¿" + "Qué te apetece hacer" + "?"
  5. print "1" + "=" + "Jugar"
  6. print "2" + "=" + "Internet"
  7. jugar=1
  8. internet=2
  9. apetecible=raw_input ()
  10. if apetecible == jugar:
  11.    
  12.  os.system(' "C:\Program Files (x86)\Skype\Phone\Skype.exe" ')

Última edición por AlvaroG; 20/11/2013 a las 06:43 Razón: coloreado de código
  #2 (permalink)  
Antiguo 20/11/2013, 06:44
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Problema Python

bueno, pues en principio tienes doble juego de comillas en tu llamada a os.system, lo cual hará que se busque un ejecutable con ese nombre exacto. Es decir, en vez de intentar llamar a skype.exe, intentará llamar a "skype.exe", el cual no existe.

No entiendo por qué has puesto tantas concatenaciones y comillas, pero ese código se puede limpiar como

Código Python:
Ver original
  1. #!/usr/bin/env python
  2. #-*- coding: utf8 -*-
  3. import os
  4. print "¿Qué te apetece hacer?"
  5. print "1=Jugar"
  6. print "2=Internet"
  7. jugar=1
  8. internet=2
  9. apetecible=raw_input ()
  10. if apetecible == jugar:
  11.     os.system(r'C:\Program Files (x86)\Skype\Phone\Skype.exe')


Saludos.
  #3 (permalink)  
Antiguo 20/11/2013, 06:49
 
Fecha de Ingreso: noviembre-2013
Mensajes: 61
Antigüedad: 11 años
Puntos: 0
Respuesta: Problema Python

Me sigue sin funcionar pero cuando lo pongo en el modo interactivo si me va.
Gracias por contestar!Una duda que hace la "r" antes de la ruta?
  #4 (permalink)  
Antiguo 20/11/2013, 06:54
 
Fecha de Ingreso: noviembre-2013
Mensajes: 61
Antigüedad: 11 años
Puntos: 0
Respuesta: Problema Python

Igual tengo que usar otro metodo para abrirlo que no sea "os.sistem"?
  #5 (permalink)  
Antiguo 20/11/2013, 08:04
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: Problema Python

El prefijo r en el string significa que es un raw string. Y que debe de tomar los \ como un carácter y no como carácter de escape.

Asegúrate de tener los espacios adecuados.

Otra cosa, si nos pones que error te arroja te podríamos ayudar mas.
  #6 (permalink)  
Antiguo 21/11/2013, 05:15
 
Fecha de Ingreso: noviembre-2013
Mensajes: 61
Antigüedad: 11 años
Puntos: 0
Respuesta: Problema Python

La cosa es que no me hecha ningun error pero al poner 1 y darle no se me abre la aplicacion que le he puesto.
Un saludo
  #7 (permalink)  
Antiguo 21/11/2013, 07:05
 
Fecha de Ingreso: mayo-2013
Mensajes: 207
Antigüedad: 11 años, 6 meses
Puntos: 31
Respuesta: Problema Python

El script se ejecuta perfectamente, pero al no cumplirse la condición termina su ejecución.
No es lo mismo '3' que 3. Con raw_input (de python 2.x) lo que introduzcas se va a convertir en cadena de texto.
Tienes dos opciones:
- Modificar una de las dos partes de la igualdad para que se cumpla.
- Usar input() en lugar de raw_input() <- La más sencilla
  #8 (permalink)  
Antiguo 21/11/2013, 11:28
 
Fecha de Ingreso: noviembre-2013
Mensajes: 61
Antigüedad: 11 años
Puntos: 0
Respuesta: Problema Python

Gracias era eso!Una ultima, cosa la ruta esta mal puesta?Porque me suelta que "C:\Program" no se reconoce como comando interno o archivo por lotes ejecutables.Como tendría que ponerlo ?
  #9 (permalink)  
Antiguo 21/11/2013, 15:07
Avatar de Carlangueitor
Moderador ლ(ಠ益ಠლ)
 
Fecha de Ingreso: marzo-2008
Ubicación: México
Mensajes: 10.037
Antigüedad: 16 años, 8 meses
Puntos: 1329
Respuesta: Problema Python

Agrega comillas, como si corrieras ese comando en una terminal normal.


Saludos
__________________
Grupo Telegram Docker en Español
  #10 (permalink)  
Antiguo 22/11/2013, 10:12
 
Fecha de Ingreso: noviembre-2013
Mensajes: 61
Antigüedad: 11 años
Puntos: 0
Respuesta: Problema Python

Cita:
Iniciado por Carlangueitor Ver Mensaje
Agrega comillas, como si corrieras ese comando en una terminal normal.


Saludos

Como comillas?Ya lleva.
No se como dices.

------------------------------
Un saludo
  #11 (permalink)  
Antiguo 22/11/2013, 11:28
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: Problema Python

Código Python:
Ver original
  1. #!/usr/bin/env python
  2. #-*- coding: utf8 -*-
  3. import os
  4. print "¿Qué te apetece hacer?"
  5. print "1 = Jugar"
  6. print "2 = Internet"
  7. jugar = 1
  8. internet = 2
  9. apetecible = int(raw_input ())
  10. if apetecible == jugar:
  11.     os.system(r'"C:\Program Files (x86)\Skype\Phone\Skype.exe"')

Así
  #12 (permalink)  
Antiguo 22/11/2013, 12:00
 
Fecha de Ingreso: noviembre-2013
Mensajes: 61
Antigüedad: 11 años
Puntos: 0
Respuesta: Problema Python

Cita:
Iniciado por razpeitia Ver Mensaje
Código Python:
Ver original
  1. #!/usr/bin/env python
  2. #-*- coding: utf8 -*-
  3. import os
  4. print "¿Qué te apetece hacer?"
  5. print "1 = Jugar"
  6. print "2 = Internet"
  7. jugar = 1
  8. internet = 2
  9. apetecible = int(raw_input ())
  10. if apetecible == jugar:
  11.     os.system(r'"C:\Program Files (x86)\Skype\Phone\Skype.exe"')

Así
Muchas Gracias!Tema Solucionado!

Etiquetas: Ninguno
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 09:17.