Можно ли узнать, находитесь ли вы в ipython или нет? - PullRequest
2 голосов
/ 01 февраля 2012

т.е. Вы можете сделать что-то вроде:

if we_are_in_ipython:
    do_some_ipython_specific_stuff()

normal_python_stuff()

Полагаю, что я пытаюсь сделать очень свободно в соответствии с #if DEBUG в C # (то есть, используя ipython в качестве инструмента отладки и Python командной строки для запуска кода без отладочных вещей).

Ответы [ 3 ]

4 голосов
/ 01 февраля 2012

Проверьте для переменной __IPYTHON__:

def is_ipython():
    try:
        __IPYTHON__ 
        return True
    except: 
        return False
1 голос
/ 01 февраля 2012

Как объяснено для дубликата , вы можете использовать метод проб / исключений, или

if '__IP' in globals():
    # stuff for ipython
    pass

Или проверить __IPYTHON__ во встроенном:

import __builtin__
if hasattr(__builtin__, '__IPYTHON__'):
    # stuff for ipython
    pass
0 голосов
/ 01 февраля 2012

Да.

if 'get_ipython' in dir():
    """
       when ipython is fired lot of variables like _oh, etc are used.
       There are so many ways to find current python interpreter is ipython.
       get_ipython is easiest is most appealing for readers to understand.
    """
    do_some_thing_
else:
    don_sonething_else
...