Python REPL 有很多种,比如默认的 REPL、ptpython、ipython、bpython 等。当我已经在其中时,有没有办法检查当前的 REPL 是什么?
一点背景:
你可能听说过,我做了 pdir2生成漂亮的 dir()
打印。我面临的一个挑战是使其与那些第三方 REPL 兼容,但首先我需要知道该程序在哪个 REPL 中运行。
最佳答案
好吧,终于找到了一个简单但 super 可靠的方法:检查sys.modules
。
您可以复制和使用的函数。
import sys
def get_repl_type():
if any('ptpython' in key for key in sys.modules):
return 'PTPYTHON'
if any('bpython' in key for key in sys.modules):
return 'BPYTHON'
try:
__IPYTHON__
return 'IPYTHON'
except NameError:
return 'PYTHON'
关于python - 如何检查您使用的 REPL 类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42765320/