2011-02-12 50 views
14

Miré las otras preguntas similares a esta, pero todavía no puedo resolver esto.Pasando el valor de la secuencia de comandos PHP a la secuencia de comandos de Python

Tengo un archivo php básico que hace esto:


?php 
$item='example'; 
$tmp = exec("python testscriptphp.py .$item"); 
echo $tmp; 
? 

Mientras éxito llama pitón que he corriendo en mi webhostserver. Ahora, en mi script en Python, quiero algo como esto:


item=$item 
print item 

Básicamente lo que pido cómo pasar variables a partir de PHP a un script en Python, y luego de vuelta a php si es necesario.

Gracias!

+6

¿Ha oído hablar de [sys.argv] (http: // docs .python.org/library/sys.html) (Python) y [$ argv] (http://php.net/argv]) (PHP)? :) – netcoder

Respuesta

23

Aunque netcoder prácticamente te dio la respuesta en su comentario, he aquí un ejemplo:

Python-> PHP

example.py

import os 
os.system("/usr/bin/php example2.php whatastorymark") 

example2.php

<?php 
    echo $argv[1]; 

?> 

PHP-> Python

<?php 
    $item='example'; 
    $tmp = exec("python testscriptphp.py .$item"); 
    echo $tmp; 

?> 

testscriptphp.py

import sys 
print sys.argv[1] 

Así es como la línea de argumentos de comandos de PHP que pasa obras: http://php.net/manual/en/reserved.variables.argv.php Lo mismo para Python: http://docs.python.org/library/sys.html#sys.argv

+1

¿es posible actualizar la variable en lugar de eco? de python a php? – ravi

+0

@ravi Creo, '$ argv [1] = 1234;' – Reigel

Cuestiones relacionadas