Пока я сидел на грибе и размышлял над тонкостями написания функции для реализации алгоритма искажения имен Python, в мою голову пришла невероятно лучшая идея. Почему бы не использовать рецепт, уже встроенный в язык, для достижения этой цели? Поэтому я вытащил ctypes из своей сумки, чтобы помочь в этом, и выполнил ctypes.pythonapi._Py_Mangle('Demo', '__test'). И вот, из ниоткуда появилась ошибка с сообщением OSError: исключение: нарушение прав доступа с чтением 0x00000A65646F00A8, и я не удосужился объяснить загадку больше, чем это.
Полное взаимодействие с переводчиком происходит следующим образом:
Код: Выделить всё
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 "
", line 1, in
ctypes.pythonapi._Py_Mangle('Demo', '__test')
OSError: exception: access violation reading 0x00000A65646F00A8
Кто-нибудь знает, что нужно изменить, чтобы успешно вызвать функцию преобразования?
Подробнее здесь:
https://stackoverflow.com/questions/279 ... -py-mangle