在Python 3中替换_PyString_Resize

时间:2011-06-05 17:29:44

标签: python python-3.x

我正在移植一个使用C将Python的功能从2.x扩展到3的模块,并且无法在文档中找到有关如何调整字符串大小的任何引用,只知道如何获取其大小:

http://docs.python.org/py3k/c-api/unicode.html?highlight=pyunicode#PyUnicode_GetSize

如何转换此代码:

_PyString_Resize(&buffer, (int)res);

到python 3可以理解的那个?

1 个答案:

答案 0 :(得分:5)

虽然您链接的页面中没有记录,但unicodeobject.c确实包含两者

int _PyUnicode_Resize(PyUnicodeObject **unicode, Py_ssize_t length) 

和包装器

int PyUnicode_Resize(PyObject **unicode, Py_ssize_t length)
{
    return _PyUnicode_Resize((PyUnicodeObject **)unicode, length);
}

我不知道缺少文件是疏忽还是安静弃用(从未使用过任何这些)。