编程语言
首页 > 编程语言> > python – 如何检查您正在使用的REPL类型?

python – 如何检查您正在使用的REPL类型?

作者:互联网

Python REPL有很多种,比如默认的REPL,ptpython,ipython,bpython等.当我已经进入REPL时,有没有办法检查当前的REPL是什么?

一点背景:
你可能听说过,我做了pdir2来生成漂亮的dir()打印.我面临的一个挑战是使它与那些第三方REPL兼容,但首先我需要知道程序运行的是哪个REPL.

解决方法:

好的,终于找到了一种简单但超级可靠的方法:检查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,ipython,read-eval-print-loop,bpython
来源: https://codeday.me/bug/20190705/1392047.html