Tema: subprocess
Ver Mensaje Individual
  #6 (permalink)  
Antiguo 01/01/2010, 17:18
Avatar de razpeitia
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: subprocess

Cita:
Iniciado por korg1988
Ahora bien... cuando haces esto:
(child_stdin, child_stdout) = (p.stdin, p.stdout)
estas transfiriendo a la variable child_stdin una especie de "handler" del stdin correspondiente al proceso???
y lo mismo para el stdout???
Lo único que hago, es al p.stind le doy el nombre de child_stdin lo mismo con p.stdout. En realidad no hago nada especial, solo le doy otro nombre.

Cita:
Iniciado por korg1988
p.wait() cual es el sentido de la espera???
En mi programa de prueba, terminaba de dar los datos y terminaba antes que el otro programa terminara de escribir en el archivo, por eso el wait.


Cita:
Iniciado por korg1988
Para que sirve close_fds en True??
Para que cierre, los archivos stdin, stout y stderr al finalizar el programa. Recuerda todo es un archivo.

Cita:
Iniciado por korg1988
PIPE?? leyendo la documentación no logre captar bien que es lo que significa o que funcion realiza aqui! y por que se asigna en los argumentos stdin, y stdout
PIPE es un valor, que le indica a la función que vamos a trabajar con stdin, stdout o stderr. De ese proceso. En vez de PIPE tambien podemos usar el stdout de otro proceso como stdin de otro. Ejemplo

Cita:
Iniciado por korg1988
Tambien algo que me representa una gran duda con respecto a que he programado otros lenguajes y no lo he visto asi.... pero, en la documentacion de la clase Fopen, aparecen toda la lista de argumentos posibles, en un orden de "declaracion"
Por que al establecer los valores para shell, para close fds, etc, se escribe tambien el nombre del argumento???
(Python soporta poner argumentos en cualquier orden? si los utilizamos de esta forma??
Así es los argumentos que son opcionales, pueden ir de cualquier forma. El orden no afecta el resultado (Propiedad asociativa).

Cita:
Iniciado por korg1988
Y por ultimo.... los write! los pusiste todos seguidos!.... No seria

UNA SALIDA, UN WRITE
UNA SALIDA, UN WRITE
UNA SALIDA, UN WRITE
Esto no le entendí muy bien, pero puedes ponerlos como tu gustes. Por ejemplo:
write("0\ncorreo\notrodato\n")
o
write("dato\n")
#mas código
write("otro dato\n")