Я не мог заставить PyRun_SimpleFile работать (проблема совместимости FILE *) для файлов, которые имеют unicode (widechar) в их имени/пути и, следовательно, этот вопрос!Ошибка PyRun_SimpleString для def foo():
Итак, я решил открыть скрипт python сам &, а затем выполнить каждую строку с помощью PyRun_SimpleString.
Псевдокод показан здесь.
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++;
}
Над дает ошибку при утверждении четкости ниже (< - показано ниже)
Python версии 2,7
import os
print "hello"
def foo(): # <-- PyRun_SimpleString fails here
print "hello again"
Я хотел бы использовать это, чтобы показать номер строки скрипт, где if/it не работает. Многие другие люди, похоже, успешно работают с PyRun_SimpleString!
Заранее спасибо.
PyRun_SimpleString ожидает полную исходный код строки, а не одна линии от нее. –