прибавить 5, и насильно записать?
У меня только такой вариант.
Твой вариант предполагает делать это внешними средствами
Почему? Нет, в Python есть модули для работы с памятью процессов.
Там разве есть прямая работа с памятью?
Не знаю, но функции типа WriteProcessMemory и ReadProcessMemory точно есть. Можно прочитать как байты и положить. Но не знаю, как это будет работать на практике. Python интерпретатор по-любому параллельно оперирует с данными, где-то может не успеть измениться значение, и получится всё криво.
Вот я бы не рискнул лезть туда, где кто-то ещё копается
Я бы рискнул)) чат же по ассемблеру. Нет ничего невозможного. На крайний случай, можно весь Python интерпретатор в памяти пропатчить, искать паттерн по всей памяти, лишь бы изменить эту переменную любой ценой))
Зачем такие сложности, когда можно средствами самого питона безопасно это сделать
Так тут нет сложностей. Наоборот, это самое простое, что можно сделать. Тут минимум вычислений происходит, читаешь память, прибавляешь, записываешь в память.
Только сначала тебе её ещё надо найти
Да. Найти и сделать просто +5. Сложность только в найти. А в твоём варианте нужно изменить саму структуру строки.
Не нужно менять структуру. Она и так является массивом
Покажи кодом свой вариант.
Ну что-то типа A = "11" B = ord(A[0]) + 5 If B>255: A[1]=chr(ord(A[1]) + 1) A[0]=chr(B%255)
Мне кажется что у каждой вещи есть свое предназначение. У питона есть интерфейс вызова внешних функций (.lib, .o). Если вас беспокоит перформанс - сделайте и вызывайте. Взламывать текущую реализацию питона не стоит. Для своих задач он нормально работает.
Обсуждают сегодня