Foros del Web » Programando para Internet » Python »

SCRIPT en python

Estas en el tema de SCRIPT en python en el foro de Python en Foros del Web. Hola, soy nueva en python y estoy creando un script en para llamar a varios programas escritos en fortran para que se corran automáticamente uno ...
  #1 (permalink)  
Antiguo 06/01/2013, 16:02
 
Fecha de Ingreso: enero-2013
Mensajes: 1
Antigüedad: 11 años, 10 meses
Puntos: 0
SCRIPT en python

Hola, soy nueva en python y estoy creando un script en para llamar a varios programas escritos en fortran para que se corran automáticamente uno trás otro, esto es lo que tengo para una vez:

#!/usr/bin/python
# -*- coding: utf-8 -*-

import numpy as np
import os

modelo = 'hd41117_24'
os.chdir(modelo)
os.system('mv INDAT.DAT'+ ' ../')
os.chdir('..')
os.system('./pnlte_A10HHe.eo')
os.system('./ptotout_A10HHe.eo')
modelo
os.system('./pformalsol_A10HHe.eo')
modelo
5
0

Lo ejecuto y comienza a correr el primero: /pnlte_A10HHe.eo
y una vez que termina comienza el segundo: /ptotout_A10HHe.eo el PROBLEMA es que este pide que se ingrese datos por consola!, explícitamente me pide que ingrese el nombre de la carpeta "modelo", y bueno se queda ahi esperando que alguien lo ingrese.. como puedo hacer en python para decirle que "modelo" es la variable que esta pidiendo por consola...
alguien puede ayudarme?? porfavor!
  #2 (permalink)  
Antiguo 06/01/2013, 16:18
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: SCRIPT en python

Tienes que pasarle los datos por el stdin. Y con eso al menos usar la librería subprocess.

Código Python:
Ver original
  1. from subprocess import Popen, PIPE
  2.  
  3. modelo = 'hd41117_24'
  4. p = Popen(['./ptotout_A10HHe.eo'], stdout=PIPE, stderr=PIPE, stdin=PIPE, shell=True)
  5.  
  6. p.stdin.write(modelo)

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 11:05.