首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >正确使用ctype来调用_Py_Mangle?

正确使用ctype来调用_Py_Mangle?
EN

Stack Overflow用户
提问于 2015-01-13 16:09:33
回答 1查看 386关注 0票数 2

坐在蘑菇上,思考着为实现Python的名称破坏算法而添加一个函数的复杂之处时,一个非常好的主意出现在我的脑海中。为什么不使用已经用语言制作的食谱来实现这样的目标呢?所以我把ctypes从我的书包里拉出来,帮我完成了ctypes.pythonapi._Py_Mangle('Demo', '__test')。瞧,一个错误出现在空中说OSError: exception: access violation reading 0x00000A65646F00A8,并没有费心解释的难题更多。

与口译人员的充分互动如下:

代码语言:javascript
复制
Python 3.4.2 (v3.4.2:ab2c023a9432, Oct  6 2014, 22:16:31) [MSC v.1600 64 bit (AMD64)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> import ctypes
>>> ctypes.pythonapi._Py_Mangle('Demo', '__test')
Traceback (most recent call last):
  File "<pyshell#1>", line 1, in <module>
    ctypes.pythonapi._Py_Mangle('Demo', '__test')
OSError: exception: access violation reading 0x00000A65646F00A8

有人知道要成功调用mangling函数需要更改什么吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-01-13 17:42:31

由于eryksun的评论,这个问题的答案相当简单:

代码语言:javascript
复制
>>> from ctypes import pythonapi, py_object
>>> py_mangle = pythonapi._Py_Mangle
>>> py_mangle.argtypes = py_object, py_object
>>> py_mangle.restype = py_object
>>> py_mangle('Demo', '__test')
'_Demo__test'
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27926429

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档