我不能讓PyRun_SimpleFile工作(FILE *兼容性問題),對具有在其名稱/路徑的unicode(widechar),因此這個問題的文件!PyRun_SimpleString失敗的高清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++;
}
下面的DEF聲明以上提供了錯誤(< - 如下圖所示)
Python版本是2.7
import os
print "hello"
def foo(): # <-- PyRun_SimpleString fails here
print "hello again"
我想用它來顯示的行數腳本,如果/它失敗。許多其他人似乎用PyRun_SimpleString成功!
在此先感謝。
PyRun_SimpleString期望的完整源代碼串,而不是從它的單行。 – 2013-02-19 22:08:39