Bueno tienes varias opciones, no se exactamente que es lo quieras hacer, pero te ayudare con lo básico.
Cuando ejecutas un script en python puedes pasarle parámetros, tal como lo hacen algunos programas en linux. Por ejemplo:
ls --all donde ls es el programa a ejecutar y
--all es el parámetro que recibe
ls.
Bueno lo mismo puedes hacer en python, usando la variable argv que se encuentra en el modulo sys. Ejemplo de uso en python.
Código Python:
Ver original#Archivo: A.py
import sys
print sys.argv
Entonces si lo ejecutas en la consola, puedes ver que obtienes los parámetros que enviaste. Ejemplo de ejecución.
Código:
$ python A.py
['A.py']
$ python A.py parametro1
['A.py', 'parametro1']
$ python A.py parametro1 parametro2
['A.py', 'parametro1', 'parametro2']
Si los parámetros son pocos puedes usar esta opción y no habrá ningún problema.
Si los parámetros o datos son muchos entonces otra opción completamente diferente es leer los datos por el stdin.
Código
Código Python:
Ver original#Archivo: A.py
print 1
print 3
print 6
print 5
print 2
print 0
print 10
print -1
print 16
print 30
print -20
Supón que nuestro archivo A.py genera una salida, en este caso números que no están orden. Y lo vamos a pasar a otro programa en python que los ordene y los imprima.
Código Python:
Ver original#Archivo: B.py
l = []
while True:
try:
n = int(raw_input())
except EOFError:
break
l.append(n)
l.sort()
print ' '.join(str(i) for i in l)
Podemos leer desde el stdin, con la función
raw_input().
Para ejecutarlo solo necesitas hacer lo siguiente.
Código:
$ python A.py | python B.py
-20 -1 0 1 2 3 5 6 10 16 30
Otras alternativas puede ser se realización de objetos, si la comunicación es por red. Incluso puedes trabajar con una base datos. O si sabes muy bien lo que estas haciendo puedes usar el "
observer pattern".