Я хочу сделать что-то подобное с Python в Linux. Например, a.py создает список и записывает его в память, а b.py или c.py считывает его из памяти, по которой написано a.py. Я не хочу использовать текстовые файлы.
Не знаю, возможно ли это.
Спасибо за ответы.
Если вы хотите запустить несколько процессов Python и обмениваться данными между ними, вы можете попробовать использовать базу данных ключ-значение в памяти, например redis
.
Я думаю, что Redis мне подходит. Спасибо.
Вы можете использовать многопроцессорность для запуска 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()
Может быть, вы можете использовать импорт.