Underc0de

Foros Generales => Dudas y pedidos generales => Mensaje iniciado por: davidhs en Septiembre 30, 2015, 08:27:31 PM

Título: [Python] Ejecutar comando y pasarle parámetros desde Python
Publicado por: davidhs en Septiembre 30, 2015, 08:27:31 PM
Hola a todos, de ante mano gracias a todos ya sea por leer la duda o responderla. Bueno quería exponer mi rompedura de cabeza, lo que quiero hacer es, recoger un dato el cual estará en una variable, esta variable ira junto a un comando, donde este comando al ejecutarse se ejecutará con el dato recogido, he conseguido hacer algo como esto pero no me funciona, si alguien me iluminase le estaría muy agradecido:

Código (python) [Seleccionar]

               
                print "\t1 - Crear archivo .txt"
       
                menuNmap = raw_input("Inserta un numero ->")
               
                if menuFichero=="1":
               
                        fi = input("Ingresa el nombre para el fichero --->")
                       
                        import shlex, subprocess
                        command_line = ('sudo nano %s',%( fi))
                        args = shlex.split(command_line)
                        subprocess.call(args)


P.D: He acabado haciendo algo así, esto no me funciona, si alguien me ayudase se lo agradecería GRACIAS!
Título: Re:Duda con código de python HELP!
Publicado por: WhiZ en Septiembre 30, 2015, 10:56:35 PM
Hola @davidhs (https://underc0de.org/foro/index.php?action=profile;u=48113)! Te recomiendo crear y editar el fichero desde python. No sólo es más fácil sino que, además, es multipltaforma. Aquí va un ejemplo:

Código (python) [Seleccionar]
nombre_archivo = raw_input("Ingresa el nombre del fichero")
escribir = True
with open(nombre_archivo, "w") as f:
    print " Ingrese el contenido (presione CTRL + C para finalizar)."
    while escribir:    # True
        try:
            contenido = raw_input(">>> ") + "\n"
            f.write(contenido)
        except KeyboardInterrupt:
            escribir = False    # break


En este caso, lo que hacemos es crear un archivo con el nombre ingresado por el usuario y, a continuación, crear un bucle que solicite el contenido del mismo. El usuario podrá escribir todas las líneas que quiera. Para detener la edición del archivo, sólo hay que presionar CTRL + C.

Espero que te sirva!

Saludos!
WhiZ
Título: Re:Duda con código de python HELP!
Publicado por: davidhs en Octubre 01, 2015, 05:38:33 AM
Hola @WhiZ (https://underc0de.org/foro/index.php?action=profile;u=21214), lo que busco es algo parecido a esto, Gracias por responder:

Código (python) [Seleccionar]

menuNmap = raw_input("Inserta un valor ->")
               
                if menuNmap=="1":
               
                        ip = input("Ingresa el rango de IP's, x.x.x.x/24 --->")
                       
                        import shlex, subprocess
                        command_line = ('sudo nmap -sP %s',%( ip))
                        args = shlex.split(command_line)
                        subprocess.call(args)
                       
                        raw_input("Has pulsado instalar nmap...\npulsa una tecla para continuar")
                   


puede ser que no me explicase correctamente, pero gracias de todas maneras Whiz todos tus comentarios me han sido de gran ayuda,
Título: Re:Duda con código de python HELP!
Publicado por: WhiZ en Octubre 01, 2015, 10:28:20 AM
Creo que esto (http://xael.org/pages/python-nmap-en.html) te va a servir  ;)

Saludos!
WhiZ

P.D.: fijate que, en tu código, estás utilizando input para recibir un valor alfanumérico. Cambialo por raw_input.