DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Fonctions WLangage / Fonctions standard / Fonctions de gestion de Windows / Fonctions Python
  • Présentation
  • Attention
  • Exemples de code
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac CatalystUniversal Windows 10 App
Autres
Procédures stockées
Présentation
Le WLangage permet d'utiliser des fonctions Python en mode natif (pour plus de détails, consultez Python : Appels natifs). Il est également possible d'exécuter directement des fonctions Python depuis le code WLangage.
Plusieurs fonctions sont à votre disposition :
PythonAjouteCheminPermet d'ajouter le chemin d'un répertoire ou le chemin de l'environnement virtuel pour la recherche des modules Python.
PythonExécuteExécute une fonction présente dans un module Python.
PythonInitialiseIndique l'emplacement de la DLL Python à charger.
PythonTermineDécharge la DLL Python et libère la mémoire.

Attention

  • L'exécutable déployé doit avoir les modules ".py" accessibles sur disque dans son dossier, ou à l'emplacement donné par la fonction PythonAjouteChemin. Les modules ".py" ne peuvent pas être trouvés s'ils sont intégrés à la bibliothèque de l'exécutable.
  • Python fait la différence entre les majuscules et les minuscules ("case-sensitive"). Le nom du module et de la fonction doivent donc respecter la casse.
Exemples de code
Exemple 1 :
// Initialisation de l'interpréteur Python
PythonInitialise(CHEMIN_INSTALL_PYTHON + "\Python39\python3.dll")
// Déclare les chemins d'import des modules utilisés
PythonAjouteChemin("D:\source.test\pythonProject\venv\Lib\site-packages")
PythonAjouteChemin("D:\source.test\pythonProject")
// Résolution de 5x³+x²-3x+2=0
sEquation est une chaîne = "5*x**3+x**2-3*x+2"
sListeRacine est une chaîne = PythonExécute("main", "solveur", sEquation)
nNbRacine est un entier = ChaîneOccurrence(sListeRacine, ",") + 1
Trace("L'équation ""[%sEquation%]"" admet [%nNbRacine%] racines :")
POUR n = 1 _À_ nNbRacine
	Trace("r[%n%] = [%ExtraitChaîne(sListeRacine, n, "", "")%]")
FIN
Exemple 2 :
sModulePython est une chaîne 
<SI CibleExécution=Windows>
	// Exemple d'emplacement du module Python
	// Le nom du module Python peut être différent
	sModulePython = SysRep(srAppDataLocal) + ..
				[fSep]+"Programs\Python\Python39\python39.dll"
<SINON>
	<SI CibleExécution=Linux>
	// Exemple d'emplacement du module Python
	// Le nom du module Python peut être différent 
	// (dépend de la version de Python, de la distribution Linux)
	sModulePython ="/usr/bin/python/python39.so"
	<FIN>
<FIN>
SI PAS PythonInitialise(sModulePython) ALORS
	// Il faut dans ce cas : 
	// Vérifier le chemin 
	// Vérifier que le mode de compilation (32/64 bits) correspond au mode d'exécution
	Erreur("Echec de l'initialisation de Python", ErreurInfo())
	RETOUR
FIN
Info(FonctionPythonImporteeHelloWorld())
// Avec un fichier Python importé (.py) dans le projet qui contient :
// def FonctionPythonImporteeHelloWorld():
//    return "Hello World !";

SI PAS PythonAjouteChemin(fRepDonnées()) ALORS
	Erreur("Echec de l'initialisation d'un chemin Python", ErreurInfo())
	RETOUR
FIN
// Le fichier Python "fichier_python.py" doit être présent dans le répertoire
// spécifié par la fonction PythonAjouteChemin. 
// Dans cet exemple, ce répertoire correspond au répertoire des données 
Info(PythonExécute("fichier_python", "FonctionPythonHelloWorldNonImportee"))

PythonTermine()
Liste des exemples associés :
WD Python Exemples didactiques (WINDEV) : WD Python
[ + ] L’exemple WD Python montre comment exécuter du code Python dans vos applications WINDEV.
Pré-requis : Il est nécessaire que Python 3 soit installé sur l’ordinateur. Vous pouvez installer Python 3 à partir de l’adresse suivante : http://legacy.python.org/download/
Version minimum requise
  • Version 27
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 13/05/2024

Signaler une erreur ou faire une suggestion | Aide en ligne locale