В Python (2), идиоматических способ проверить, является ли переменная из str
или unicode
типаКак проверить, если PyObject является строка или Unicode для Python C Extension
isinstance(var, basestr)
В Concrete Object Layer documentation , Я не видел ничего похожего на basestr
.
В настоящее время я проверка переменные, как следующее:
PyObject *key;
//...
if (!PyString_Check(key) && !PyUnicode_Check(key)) {
PyErr_SetString(PyExc_ValueError, "Key must be string");
return NULL;
}
Есть более краткий способ проверить, если PyObject
имеет типа str
или unicode
?
Спасибо - и только, чтобы подтвердить, есть нет функции 'PyBaseString_Check', которая избавит вас от необходимости проходить в' & PyBaseString_Type'? –
@MatthewMoisen к сожалению, нет 'PyBaseString_Check'. – MSeifert