【发布时间】:2019-05-16 00:12:42
【问题描述】:
我正在实现一个嵌入一些命令解释器的工具(java 程序),如“bc”、“sage”、...。该工具在一个线程中执行解释器,重定向其标准输入和标准输出,并将一些命令写入嵌入式解释器的重定向标准输入(随着时间)。在解决了常见的缓冲问题后,“bc”和“sage”一切正常。
在 python 的情况下,解释器似乎没有从标准输入读取它的命令(我已经用一个简单的 echo 1+2 | python 验证了这一点)。
我没有找到如何指示 python 解释器从标准输入读取其命令。我读过很多类似的问题,但他们都试图从标准输入读取 data,而不是 commands。
请注意,发送到 python 解释器的命令可以是多行的(python“for”循环,...),并且命令在 python 启动时还不可用,它们会随着时间生成并发送到解释器。
简而言之,我想使用 python 作为一个 repl (read-eval-print-loop),从标准输入读取。
【问题讨论】:
-
请按照您创建此帐户时的建议阅读并遵循帮助文档中的发布指南。 Minimal, complete, verifiable example 适用于此。在您发布 MCVE 代码并准确描述问题之前,我们无法有效地帮助您。我们应该能够将您发布的代码粘贴到文本文件中并重现您描述的问题。
-
python -c "1+1"
标签: python read-eval-print-loop