我正在尝试在 C++ 中嵌入 python 代码并成功编译,但是当我尝试运行我的代码时,出现以下错误。
File "./cppPython", line 1
SyntaxError: Non-ASCII character '\x88' in file ./cppPython on line 2, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details
这些是我的 C++ 和 Python 代码。
CPP code
#include <Python.h>
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
FILE *fp = fopen(argv[0],"r");
Py_SetProgramName(argv[0]); /* optional but recommended */
Py_Initialize();
PyRun_SimpleFileExFlags(fp,argv[0],0,NULL);
Py_Finalize();
return 0;
}
Python code
#!/usr/bin/env python
# -*- coding: utf-8 -*-
print "hello"
最佳答案
argv[0]
给出了 C++ 可执行文件的名称。例如。如果您将 C++ 可执行文件命名为 abc
并执行为:
./abc pythonFileName.py
然后 argv
数组将有 argv[0]
作为 ./abc
和 argv[1]
作为 pythonFileName.py
。
因此,请使用索引 1。
关于python - 在 C++ 中嵌入 python 的编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50130667/