Exécute une fonction présente dans un module Python.
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 :
|
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