elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


  Mostrar Temas
Páginas: [1]
1  Programación / Scripting / Ayuda con subprocess.Popen stdout=subprocess.PIPE en: 3 Marzo 2021, 13:15 pm
Buenos días a todos,

Estoy empezando con la ejecución de programas en python y no consigo entender correctamente que es lo que realiza el programa siguiente..

Código
  1. import subprocess
  2.  
  3. # pipe.py
  4.  
  5. p = subprocess.Popen(["echo","Ejemplo de procesos en python.."], stdout=subprocess.PIPE)
  6.  
  7. print (p.communicate())
  8.  

Por las pruebas de ejecución que he realizado a través de Linux, veo que el programa imprime por pantalla un mensaje en el terminal.. pero no consigo entender realmente que función hace stdout=subprocess.PIPE, ni porque a la hora de ejecutar el programa en el IDE imprime por pantalla (b'Ejemplo de procesos en python..\n', None). Entiendo que el primer argumento de Popen "echo" es un comando de Linux que imprime la salida por pantalla de la frase "Ejemplo de procesos en python..", pero no entiendo porque en la ejecución aparece el texto entre parentesís, la b en el inicio, el salto de línea \n y el None al final de la ejecución... He buscado información sobre esto pero no encuentro nada para poder entenderlo correctamente.. ¿Alguien puede ayudarme?

Mil gracias por la ayuda, saludos.
2  Programación / Java / Ayuda con JOptionPane mostrar datos en una única ventana. en: 9 Diciembre 2020, 19:27 pm
Buenas tardes a todos,

Estoy desarrollando una aplicación que solicita y muestra los datos por pantalla a través de JOptionPane con ventanas y no por consola como he hecho siempre.

He conseguido poner todo más o menos correctamente, pero a la hora de listar la información introducida por el usuario, el programa me crea una ventana para cada información introducida y me gustaría que sacara toda la información a la vez.

Ejemplo: Si he dado de alta 2 clientes con todos sus datos, que abra una única ventana con los datos de ambos clientes y no una ventana por cliente.

¿Hay alguna forma de que el programa pueda realizar esta función? Os pongo en código como lo tengo actualmente.

Código
  1.    /**Método para dar de alta a nuevos clientes en la base de datos del hotel. */
  2.      public void altaCliente(){
  3.  
  4.        String dni = JOptionPane.showInputDialog("NUEVO CLIENTE: \n" +"Escriba el DNI del cliente: \n\n");
  5.  
  6.    /**Llamada al método comprobarDni para comprobar que el cliente que se está dando de alta no ha sido ya creado. */    
  7.        Cliente cliente = comprobarDni(dni);
  8.    /** Si el dni introducido no coincide con el de ningún cliente existente devuelve null y continua con el proceso de alta del cliente nuevo.
  9.     En caso que el dni introducido ya exista significa que el cliente ya ha sido registrado previamente y nos devolverá un mensaje de error. */
  10.        if(cliente == null) {
  11.          String nombre;  
  12.          String apellidos;
  13.          String telefono;
  14.  
  15.          nombre = JOptionPane.showInputDialog("Introduzca el nombre del cliente: ");
  16.          apellidos = JOptionPane.showInputDialog("Introduzca los apellidos del cliente: ");
  17.          telefono = JOptionPane.showInputDialog("Introduzca el núm. de teléfono del cliente: ");
  18.  
  19.        clientes.add(new Cliente(nombre,apellidos,dni,telefono));
  20.  
  21.        JOptionPane.showConfirmDialog(null,"Se ha añadido el siguiente cliente en la base de datos: \n"
  22.        + "\nNombre: " +nombre
  23.        +"\nApellidos: " +apellidos
  24.        +"\nDni: " +dni
  25.        + "\nTeléfono: "+telefono);
  26.  
  27.      }    
  28.        else {
  29.            JOptionPane.showMessageDialog(null, "El DNI introducido ya existe. El cliente que está dando de alta ya se encuentra registrado en el sistema.","ERROR", 0);
  30.      }
  31.  
  32.      }
  33.  
  34.    /** Método para comprobar que si dni introducido por teclado coincide con el de agún cliente ya registrado. */
  35.    public Cliente comprobarDni(String dni){
  36.  
  37.        for (int i=0; i < clientes.size(); i++){
  38.            Cliente cliente = clientes.get(i);
  39.  
  40.            if (dni.equals(cliente.getDni())){
  41.                return cliente;
  42.            }
  43.        }
  44.        return null;  
  45.    }
  46.  
  47.    /** Método para listar los clientes registrados. */
  48.    public void mostrarClientes() {
  49.        JOptionPane.showMessageDialog(null,"LISTA DE CLIENTES: ");
  50.        for (int i=0; i < getClientes().size(); i++) {
  51.            Cliente aux = getClientes().get(i);
  52.  
  53.        JOptionPane.showMessageDialog(null,aux.getNombre() + " " + aux.getApellidos() + ", Dni." + aux.getDni() + ", Telf." + aux.getTelefono());
  54.        }
  55.  
  56. }

Me gustaría que en la Función mostrarClientes() pudiera crear una única ventana que fuera LISTA CLIENTES y en ella aparecieran todos los clientes que se han introducido y no que primero aparezca la ventana de LISTA CLIENTES, Cliente 1 y sus datos, cliente 2 y sus datos por ejemplo.

Mil gracias por la ayuda, saludos.
3  Programación / Programación C/C++ / Hacer Ping en codigo C y que cree un txt con los resultados de cada IP en: 17 Noviembre 2020, 17:05 pm
Buenas tardes a todos,

Estoy realizando un trabajo y necesito crear un programa que aparte de abrir, leer, modificar y crear archivos .txt haga un ping y esta información la almacene en un nuevo txt.

He conseguido crear el archivo .txt desde cmd haciendo ping directamente, pero no soy capaz de codificar el código en el programa de C para que el programa directamente ejecute el ping y guarde la información en un nuevo .txt ¿Podéis ayudarme?

Tengo que crear las siguientes funciones y no sé por donde empezar :(

1. Una función que lea el contenido de un archivo .txt con diferentes direcciones ip, en la que la ruta del archivo se solicitará al usuario por pantalla. La ruta y nombre del archivo tienen que ser preguntados al usuario y visualizados por pantalla. Por último, el programa debe lanzar un ping para cada una de las direcciones ip del archivo e informar cuales de ellas responden correctamente a este comando.

Mil gracias por la ayuda, saludos.
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines