Python 3.5中的Py_InitModule和PyString_InternFromString

时间:2015-11-10 23:55:57

标签: python python-3.x native-code

我想将我的Python版本从2.7更新到3.5。

编译使用PyString_InternFromString和此Py_InitModule

的代码时

我收到错误消息:

Error   199 error C3861: 'Py_InitModule': identifier not found
Error   196 error C3861: 'PyString_InternFromString': identifier not found

我的问题是,与python 3.5中的那些标识符相同的是什么?

2 个答案:

答案 0 :(得分:1)

对于Py_InitModule,您现在正在使用PyModule_Create。您可以看到example usage in the tutorial example on the Python docs page

对于实习,Py3' str基于Py2 unicode类型;在C层,您使用PyUnicode方法,例如PyUnicode_InternFromString。您仍在实施Python级str,但实现类型已更改。

答案 1 :(得分:0)

https://stackoverflow.com/a/28306354/320546会帮助您Py_InitModule PyStr_InternFromString与Python {3}相当于PyString_InternFromString(参见http://py3c.readthedocs.org/en/latest/reference.html#c.PyStr_InternFromString