【问题标题】:Replacing PyString_FromString method in python 3在 python 3 中替换 PyString_FromString 方法
【发布时间】:2021-05-09 05:50:46
【问题描述】:

TLDR; PyString_FromString 在 Python3.5 中不起作用,所以我需要一个替代方案。

我正在关注此 python 文档中在 C++ 项目中包含 python 3 的示例: https://docs.python.org/3/extending/embedding.html

一切正常,但现在我想更改以下内容:

pValue = PyLong_FromLong(atoi(argv[i + 3]));

到以下(我也不再使用 i,那是来自循环):

pValue = PyString_FromString("A string instead of a number");

似乎PyString_FromString 函数不再是 Python3.5 的选项,当我使用 g++ 编译代码时出现以下错误:

main.cpp:559:60: error: ‘PyString_FromString’ was not declared in this scope
         pValue = PyString_FromString("A string instead of a number");`

知道如何解决这个问题吗?无论我在寻找什么,我似乎都找不到不会引发错误的解决方案。我需要将一个字符串传递给我的 Python 文件,并且我已经有一个字符串开始。

【问题讨论】:

    标签: python c++


    【解决方案1】:

    PyUnicode_FromString()

    if (!(pValue = PyUnicode_FromString("A string instead of a number")))
      return NULL;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-11-25
      • 1970-01-01
      • 2021-05-15
      • 2011-06-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多