嵌入C语言时的Python语法错误

我有一个python文件,当我对我的python解释器执行它时运行正常。

我正在尝试使用python C API从C程序调用相同的文件:

#include  #include  int main(int argc, char* argv[]){ FILE* fp; Py_SetProgramName(argv[0]); Py_Initialize(); PySys_SetArgv(argc, argv); fp = fopen("floatcli.py", "r"); PyRun_SimpleFile(fp, "floatcli.py"); Py_Finalize(); } 

但是,当我运行这个时,我得到一个python语法错误:

  File "floatcli.py", line 1 üBa ^ SyntaxError: invalid syntax 

(在这里没有显示的BBa中还有一个装在盒子里的?)。

floatcli.py的第一行只是一个导入语句……任何想法是怎么回事?

执行Python文件的hex转储,它可能以一种Unicode格式编码,您所看到的可能是指示编码的标头。

如果是,您有两种选择。 第一种是将其转换为ASCII,以便嵌入式Python解释器可以读取它,或者找出如何修改嵌入式Python解释器来处理编码。