Можно ли скопировать все объекты памяти в вашей текущей программе Python, выполнив глубокую копию всех объектов памяти. Затем запустите другой экземпляр той же программы Python и переместите эти скопированные объекты во второй работающий экземпляр.
замена кода Python в двух экземплярах одной и той же программы
Ответы (2)
Вы имеете в виду записать информацию в файл, запустить скрипт, который вы запускаете, а затем загрузить информацию? Если вы имеете в виду взять байты памяти и перераспределить их в другое место в вашей памяти только для использования в той же программе, я предлагаю вам посмотреть https://docs.python.org/3/library/sys.html и https://goshippo.com/blog/measure-real-size-any-python-object/
Вот что делает разветвление программы. Когда вызывается os.fork(), дочерний процесс получает копию области памяти родителя, и оба возобновляют выполнение с одной и той же точки. Единственная разница в этих двух процессах заключается в возвращаемом значении вызова fork(), которое равно 0 для дочернего процесса и PID дочернего процесса для родителя.
Вот простой пример:
import os
x = 'val'
ret = os.fork()
# At this point, both processes have the same memory contents, except for the value of `ret`
print(ret, x)
# Now change the value in the child process
if ret == 0:
x = 'newval'
print(ret, x)
Результат:
59751 val
59751 val
0 val
0 newval
pickle
. Это позволяет вам сохранить произвольный объект памяти Python в файл, а затем восстановить его в рабочем состоянии в другой программе. - person BoarGules   schedule 04.02.2018