python - 在 C++ 中嵌入 python 的编码

标签 python c++ python-embedding

我正在尝试在 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] 作为 ./abcargv[1]作为 pythonFileName.py

因此,请使用索引 1。

关于python - 在 C++ 中嵌入 python 的编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50130667/

相关文章:

python - 如何调用需要导入包的python文件?

macos - Mavericks : Compile Python Interpreter into a static lib

c - 在C中嵌入python中导入keras时出错

python - "Easy"通过Graph API访问Facebook头像

C++ Directx 11 多显卡

C++ 动态数组构造函数

c# - 使用 VS 2010 调试导入的 dll

python - 在现有图像上绘制带有边界矩形的轮廓

python - 在其消费者中处理生成器异常

python - 使用 Telegram - API 或 CLI 发送消息?