替换Python 3中的_PyString_Resize

替换Python 3中的_PyString_Resize,python,python-3.x,Python,Python 3.x,我正在移植一个模块,该模块使用C将Python的功能从2.x扩展到3,在文档中找不到任何关于如何调整字符串大小的参考,只有如何获得其大小: 如何转换此代码: _PyString_Resize(&buffer, (int)res); 对于一个python 3可以理解的人来说?虽然您链接的页面中没有记录它,但unicodeobject.c确实包含这两个内容 int _PyUnicode_Resize(PyUnicodeObject **unicode, Py_ssize_t length

我正在移植一个模块,该模块使用C将Python的功能从2.x扩展到3,在文档中找不到任何关于如何调整字符串大小的参考,只有如何获得其大小:

如何转换此代码:

_PyString_Resize(&buffer, (int)res);

对于一个python 3可以理解的人来说?

虽然您链接的页面中没有记录它,但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);
}

我不知道缺少文档是一种疏忽还是一种无声的反对(从未使用过任何一种)。

通常您会创建新字符串,但我猜可能存在这样的情况:这不是最佳的。