Есть ли способ запустить оболочку Python в фоновом режиме (из латекса)? - PullRequest
0 голосов
/ 26 сентября 2019

Мне нужно выполнить код Python из латексных файлов (для включения данных эксперимента).

Пакет CTAN python служит для этой цели, но по какой-то причине не может выводиться в подписи к рисункам.

Я взломал решение на основе write18, которое прекрасно работает, но я понял, что было бы лучше иметь "сессию" оболочки Python, работающую в фоновом режиме.Таким образом, я мог бы просто загрузить свои данные один раз в начале.

Теоретически это возможно при использовании Linux fifos:

# create fifos
mkfifo /tmp/infifo
mkfifo /tmp/outfifo

# start python process
python < /tmp/infifo > /tmp/outfifo & 

# listen for results
cat /tmp/outfifo &

# write something 
echo "print('hello world')" > /tmp/infifo
-> hello world

Но после этого короткого взаимодействия процесс python и output cat обрабатываютпрекратить.Использование cat вместо echo для отправки данных процессу замедляет процессы, но кажется, что ответы буферизуются и отправляются только после завершения процесса ввода cat.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...