Foros del Web » Programando para Internet » Python »

Parsear argumentos de linea de comandos en string

Estas en el tema de Parsear argumentos de linea de comandos en string en el foro de Python en Foros del Web. Hola amigos, veran esta es la cuestion.... resulta que estoy programando una pequeña pero poderosa xD aplicación para el control remoto de ordenadores, y debe ...
  #1 (permalink)  
Antiguo 21/03/2010, 11:11
 
Fecha de Ingreso: enero-2008
Ubicación: Chaco
Mensajes: 116
Antigüedad: 16 años, 3 meses
Puntos: 0
Parsear argumentos de linea de comandos en string

Hola amigos, veran esta es la cuestion....

resulta que estoy programando una pequeña pero poderosa xD aplicación para el control remoto de ordenadores, y debe tener una funcion que es imprescindible que es una linea de comandos de el PC remoto...

Hasta ahi vamos bien. Esa línea de comandos la he implementado utilizando algunas funciones de la libreria subprocess y sys lo cual no biene al caso...

el problema llega cuando deseo identificar los argumentos de los comandos a enviar... voy a ponerlo en un caso practico para que veais...

Estoy dentro de mi aplicacion...
lo que debo hacer es emular la consola de windows la cual tiene una forma mas o menos asi...

C:\WINDOWS\system32>dir /D C:\carpeta

eso seria facil porque yo puedo hacer esto

Código:
currentpath = 'C:\WINDOWS\system32'
command = raw_input('%s>'%(currentpath))
args = command.split() #obtengo ['dir', '/D', 'c:\\'] cada argumento separado perfectamente
pero si como argumento hay un string que contiene espacios, no puedo utilizar .split()

Código:
C:\WINDOWS\system32>dir "Mis Documentos"
['dir', '"Mis', 'Documentos"']
gracias de antemano
Salu2
__________________
La web es ciencia xD www.resiscity.com.ar, http://www.leoferreyra.com.ar
  #2 (permalink)  
Antiguo 21/03/2010, 16:23
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 1 mes
Puntos: 1360
Respuesta: Parsear argumentos de linea de comandos en string

Y por que no, mejor usas la terminal de windows.

Solo haces llamadas con os.system y listo
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 06:12.