Si bien hay muchas bibliotecas (o módulos ) en PHP , puede haber casos en los que falte un módulo para una determinada tarea o no esté implementado correctamente; mientras que el mismo módulo está disponible en Python .
Aparte de esto, para ciertas tareas de secuencias de comandos, el usuario puede encontrar Python más adecuado, mientras encuentra PHP adecuado para el resto de su base de código.
En este artículo, veremos cómo Python el script se puede ejecutar desde un PHP intérprete en una terminal Linux.
Llamar a una secuencia de comandos de Python en PHP
Consideremos el siguiente código PHP (test.php ).
<?php $string = 'Example String\n'; ?>
Nota :El '\n'
al final de la cadena hay un carácter de nueva línea, que moverá el cursor a la nueva línea para los siguientes comandos en la terminal.
Llamemos ahora a un simple script de Python ‘test.py
', que simplemente imprime 'Hello World '.
$ cat test.py print(“Hello World”)
Para llamar a este script desde PHP , use el 'ejec ' función.
<?php $string = 'Example String\n'; $pyout = exec(‘python test.py’); echo $pyout; echo “\n”; ?>
Podemos llamar al script con el programa de línea de comando ‘php’ , que no es más que el intérprete de PHP.
$ cat test.py $ cat test.php $ php test.php
Como podemos ver, la salida del script de Python test.py se mostró.
A continuación, consideremos el siguiente archivo de secuencia de comandos de Python, 'test2.py ', que toma un argumento, una cadena, y lo imprime.
$ cat test2.py import sys print(sys.argv[1])
Ahora llamemos a este script desde PHP, pasando el argumento.
$ cat test.php $ php test.php
Como podemos ver, el script de Python se ejecutó e imprimió el valor del parámetro 'Ejemplo '.
Conclusión
En este artículo, vimos cómo llamar a un script de Python desde nuestro código PHP. Esto se puede usar en secuencias de comandos de Python más complejas, cuya salida se almacenará en la variable de PHP como se muestra en nuestros ejemplos anteriores.
Esto puede ser especialmente útil cuando algunas bibliotecas de Python complejas, p. se utilizarán las bibliotecas de aprendizaje automático y ciencia de datos. Si tiene alguna pregunta o comentario, ¡asegúrese de dejar un comentario a continuación!