gpt4 book ai didi

python - 将 C++ 字符串类转换为 Python 字符串

转载 作者:太空狗 更新时间:2023-10-29 23:15:24 24 4
gpt4 key购买 nike

我有一个能够以普通 ASCII 或宽格式输出字符串的 C++ 类。我想将 Python 中的输出作为字符串获取。我正在使用 SWIG(版本 3.0.4)并阅读了 SWIG 文档。我相信我需要使用 typemap 构造来实现我的目标。我写了以下内容:

%typemap(out) my_namespace::MyString *
{
$result = PyString_AsString($1);
}

没有成功。当我尝试从 Python 访问 C++ 字符串时,我得到以下输出:

<Swig Object of type 'MyString *' at 0x02B6FC68>

显然,我做错了什么。谁能指出我正确的方向?提前致谢。

最佳答案

我将 pyboost 用于 C++/python 接口(interface),这非常棒而且很容易做到。如果可以,我推荐它。一个简单的 std::string 会自动映射到 python 字符串。在您的情况下,可能任何解决方案都是定义一个

__str __

对象的方法或直接传递一个 char*(我在 swig 文档中看到,但我从未遵循这种方式)。

关于python - 将 C++ 字符串类转换为 Python 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29391105/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com