Я пытаюсь memset подстроку в файле python, используя ctypes.memset
Вот код, который я использую:
import ctypes
def memz(string):
buffsize = len(string)+1
size = sys.getsizeof(string)
offset = size - buffsize
start = string.find('{') -----------> 142
end = string.find('}') + 1 --------> 167
location = id(string)
ctypes.memset(location + offset + start, 0, end-start)
Я вижу, что это не memset подстроки, а записывает какую-то другую часть памяти. Я подозреваю, что не передаю правильную ячейку памяти в ctypes.memset. Нужно ли мне изменить формат местоположения (местоположение + смещение + начало), которое я передаю в ctypes.memset?
PS: решение получено из отметить данные как конфиденциальные в python. Я попробовал это решение, но использование memset из ctypes.CDLL('libc.so.6').memset приводит к ошибке seg. Я использую Python2.7.11.