lai*_*e9m 5 python ipython bpython read-eval-print-loop ptpython
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'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
355 次 |
| 最近记录: |