首页 > 解决方案 > 有没有办法在后台(乳胶)运行python shell?

问题描述

我需要从 Latex 文件中执行 Python 代码(用于包含实验数据)。

CTAN 包python可以用于此目的,但由于某种原因无法输出到图形标题中。

我拼凑了一个write18可以正常工作的基于解决方案的解决方案,但我认为在后台运行一个 python shell“会话”会更好。这样我就可以在开始时加载我的数据一次。

从理论上讲,这应该可以使用 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 和输出 cat 进程终止。使用cat而不是echo向进程发送数据会使进程逗留,但答案似乎是缓冲的,并且只有在输入 cat 进程终止后才会发送。

标签: pythonlinuxbashlatex

解决方案


推荐阅读