【发布时间】:2017-08-03 13:39:00
【问题描述】:
Python REPL 有很多种,比如默认的 REPL、ptpython、ipython、bpython 等。当我已经在其中时,有没有办法检查当前的 REPL 是什么?
一点背景:
你可能听说过,我制作了pdir2 来生成漂亮的dir() 打印。我面临的一个挑战是让它与那些第三方 REPL 兼容,但首先我需要知道程序在哪个 REPL 中运行。
【问题讨论】:
-
好的,所以 ipython 解决了。
bpython和bpython不提供此类检查。 -
也许启发式:
sys.executable -
我试过了,它显示了系统的python位置,比如
/usr/local/opt/python3/bin/python3.6。 -
啊。也许
sys.stdin和stdout提供了更好的区分方法。但它们也可能被应用程序重新定义。
标签: python ipython read-eval-print-loop bpython ptpython