Je ne pouvais pas faire fonctionner PyRun_SimpleFile (problème de compatibilité FICHIER *) pour les fichiers qui ont unicode (widechar) dans leur nom/chemin d'accès et donc cette question!PyRun_SimpleString échoue pour def foo():
J'ai donc décidé d'ouvrir moi-même le script python & puis d'exécuter chaque ligne en utilisant PyRun_SimpleString.
Pseudo-code représenté ici.
wchar_t* pWScriptName=NULL;
// pWScriptName malloced & populated here
FILE* fp = _wfopen(pWScriptName, L"r");
while (fgets(line, BUFSIZ, fp) != NULL) {
int ret = PyRun_SimpleString(line);
if(ret != 0) {
... error at lineNum ...
}
lineNum++;
}
ci-dessus donne une erreur à l'instruction def ci-dessous (< - ci-dessous)
Python version est 2,7
import os
print "hello"
def foo(): # <-- PyRun_SimpleString fails here
print "hello again"
Je voudrais l'utiliser pour afficher le numéro de ligne du script où if/it échoue. Beaucoup d'autres personnes semblent réussir avec PyRun_SimpleString!
Merci d'avance.
PyRun_SimpleString attend une chaîne de code source complet, pas une seule ligne de celui-ci. –