2015-07-31 2 views
3

Я получаю с моей программой Python строку с 12 значениями, разделенными запятыми, по Ethernet.Python записывать строку в память, читать память с помощью другой программы Python

Теперь я хочу предоставить значения для других программ, но я не хочу писать значения в файле. Запись в файл будет происходить очень часто и, таким образом, будет напрягать SD-карту моего RaspberryPi.

Другие программы должны читать и не записывать значения.

Возможно, кто-нибудь скажет мне, есть ли у меня возможность записать полную строку или разделенные значения в определенное пространство памяти, прочитав это пространство с помощью других программ Python?

Я использую python в версии 2.7.

Надеюсь, мой английский достаточно хорош, чтобы объяснить проблему. Спасибо за помощь.

+2

Более безопасным способом было бы записать значения в файл, после чего другая программа прочитала бы файл. – Will

+0

это немного проблема XY, поскольку вы уже предлагаете решение. Если вы хотите поделиться данными с другими процессами, посмотрите [multiprocessing.queue] (http://pymotw.com/2/multiprocessing/communication.html) – Pynchia

+3

Вам нужна межпроцессная связь любого рода. Вы можете записать файл в файловую систему на ramdisk, если хотите сохранить свою SD-карту; в Ubuntu для этого вы можете использовать '/ run/shm /' для этого; посмотрите на вывод 'mount | grep tmpfs' на вашем RP. Также существуют другие варианты, такие как общение через сокеты, трубы, фиксы. – Alfe

ответ

2

@dsh уже предоставила некоторую информацию об общей памяти, а другой (чуть выше уровень), я мог бы порекомендовать использовать python sockets.

У них отличные how-to на реализации сокетов, и я бы порекомендовал вам проверить неблокирующий сокет STREAM для связи между вашими программами.

Смежные вопросы