Вы можете использовать многопроцессорную обработку для запуска a.py and b.py
и построить между ними канал памяти, чтобы передавать нативные объекты python, такие как списки, dicts.
Пример. Предположим, мы хотим получить что-тов a.py из b.py:
в a.py:
from multiprocessing import Process, Pipe
import b
if __name__ == '__main__':
recv_end, send_end = Pipe()
p = Process(target=b.sender_func, args=(send_end,))
p.start()
print(recv_end.recv()) # prints "Please accept my greetings!"
в b.py:
from multiprocessing import Process, Pipe
def sender_func(send_end):
msg = "Please accept my greetings!"
send_end.send(msg)
send_end.close()