Comunidad Gambas-es
[SOLUCIONADO] Se pueden combinar Gambas y Python? - Versión para impresión

+- Comunidad Gambas-es (https://gambas-es.org)
+-- Foro: Linux (https://gambas-es.org/forum-9.html)
+--- Foro: Programación en otros lenguajes (https://gambas-es.org/forum-12.html)
+---- Foro: Python (https://gambas-es.org/forum-14.html)
+---- Tema: [SOLUCIONADO] Se pueden combinar Gambas y Python? (/thread-1586.html)



Se pueden combinar Gambas y Python? - tercoide - 04-01-2024

Esta librería permite abrir/editar/guardar archivos DXF:

https://ezdxf.readthedocs.io/en/stable/introduction.html

Esta pensada para ser usada en Python, pero me preguntaba si es posible usarla en Gambas con llamadas Extern tal como hacemos con las librerías en C. Alguien tiene experiencia en el tema?


RE: Se pueden combinar Gambas y Python? - tercoide - 06-01-2024

Encontre la respuesta, se llama Incrustar codigo de Pythhon, y puede hacerse directamente armando un Script y corriendolo mediante un Shell:

https://docs.python.org/3/extending/embedding.html

Entonces la estrategia seria armar un archivo de texto con el codigo Python.

Voy a tratar de hacer un ejemplo.

La verdad es que era mas fácil de lo que creí !!! Big Grin
Código:
' Gambas module file

Public Sub Main()

  Print "Hello world"

  Shell "python3 first-script.py"

End
Código:
#first-script.py
x = 1
if x == 1:
    # indented four spaces
    print("x is 1.")
    print("Good bye Python")
    print("Gambas es mejor")
   

[Imagen: Mnf768I.png]


RE: Se pueden combinar Gambas y Python? - guizans - 07-01-2024

Está genial, pero tengo un par de dudas.

La primera es como se hace para pasar los parámetros correspondientes, que será lo que necesites.

Y la segunda es: ¿Se pausa el programa de Gambas mientras se ejecuta el de Python? Lo digo por si el de Python tarda no vaya a ser que el programa de Gambas continue la ejecución.

Un saludo.


RE: Se pueden combinar Gambas y Python? - cogier - 07-01-2024

Cita:Y la segunda es: ¿Se pausa el programa de Gambas mientras se ejecuta el de Python? Lo digo por si el de Python tarda no vaya a ser que el programa de Gambas continue la ejecución.
 
Código:
Shell "python3 first-script.py" Wait

¡Todo va bien!


RE: Se pueden combinar Gambas y Python? - tercoide - 07-01-2024

(07-01-2024, 13:53)guizans escribió: La primera es como se hace para pasar los parámetros correspondientes, que será lo que necesites.

No se si pueden "comunicarse" ambos programas, creería que no. Tal vez usando DBus , del cual no se absolutamente nada. Para lo que yo lo necesito me basta que lo hagan mediante un archivo temporal.


RE: Se pueden combinar Gambas y Python? - Shell - 05-04-2024

(07-01-2024, 15:37)tercoide escribió: No se si pueden "comunicarse" ambos programas, creería que no

Eso es lo que seria interesante. Aunque para eso y (sobre todo, si tienes conocimiento ) ya está el lenguaje "C".
Aunque me gusta Python,  ¿ para qué quieres mezclar Gambas y Python ?. Cada uno hace las cosas a su manera.

Ejecutar un código de Python desde Gambas, no es nada diferente a ejecutar un comando de bash.
Como dijiste combinar, entendí que era compartir información.

Se puede tomar la salida estándar del comando de Python. No se me ha ocurrido. Rolleyes
No lo veo. A cada cual lo suyo.

Saludos


RE: Se pueden combinar Gambas y Python? - vuott - 02-08-2024

(06-01-2024, 15:40)tercoide escribió: La verdad es que era mas fácil de lo que creí
En realidad, simplemente has lanzado un 'programa externo' a través de la instrucción 'Shell' de Gambas.
Diferente es el uso de la palabra clave 'Extern' de Gambas para manejar directamente las funciones de las librerias externas, escritas en lenguaje C.

(05-04-2024, 22:07)Shell escribió: Se puede tomar la salida estándar del comando de Python.

Creo que si quieres usar la instrucción "Shell", como tercoide sugirió, puedes manejar el flujo de datos con la clase Process.