DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Fonctions WLangage / Fonctions standard / Fonctions de gestion de Windows / Fonctions Python
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
Exécute une fonction présente dans un module Python.
Exemple
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()
Syntaxe
<Résultat> = PythonExécute(<Module> , <Fonction> [, <Paramètre 1> [... [, <Paramètre N>]]])
<Résultat> : Variant
Valeur retournée par la fonction Python exécutée (possiblement vide).
<Module> : Chaîne de caractères
Nom du module Python à charger. Consultez la documentation Python pour plus de détails.
Attention : Le nom du module est "case-sensitive".
<Fonction> : Chaîne de caractères
Nom de la fonction Python à exécuter. Cette fonction est présente dans le module <Module>.
Attention : Le nom de la fonction est "case-sensitive".
<Paramètre 1> : Type du paramètre
Premier paramètre à passer à la fonction Python.
<Paramètre N> : Type du paramètre
Dernier paramètre à passer à la fonction Python.
Remarques
  • L'interpréteur Python doit avoir été configuré avant (via la fonction PythonInitialise).
  • Seuls les types simples suivants sont gérés pour la valeur de retour et pour les différents paramètres de la fonction Python :
    • Booléen
    • Entier (signé ou non)
    • Réel
    • Chaîne de caractères.
  • Le module Python doit impérativement se trouver dans le répertoire d'exécution. Si ce n'est pas le cas, utilisez la fonction PythonAjouteChemin pour spécifier les chemins à prendre en compte.
  • Un message d'erreur est affiché dans les cas suivants : chargement de l'interpréteur non effectué, type des paramètres incorrect, ...
  • Lors de l'appel à la fonction PythonExécute,
    • les chaînes de caractères fournies en arguments sont encodées en UTF8.
    • la chaîne de caractères renvoyée par une fonction du module dans une variable de type variant n'est pas automatiquement décodée. Il est nécessaire d'utiliser la fonction UTF8VersChaîne.
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/
Classification Métier / UI : Code neutre
Composante : wd300vm.dll
Version minimum requise
  • Version 27
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 05/07/2022

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