мой код Python переплетен с большим количеством вызовов функций, используемых для отладки (| профилирования | трассировку и т.д.) , например:питон эквивалент «#define FUNC()» или как закомментировать вызов функции в Python
import logging
logging.root.setLevel(logging.DEBUG)
logging.debug('hello')
j = 0
for i in range(10):
j += i
logging.debug('i %d j %d' % (i,j))
print(j)
logging.debug('bye')
Я хочу, чтобы #define эти ресурсоемкие функции из кода. что-то вроде с эквивалентным
#define logging.debug(val)
да, я знаю, модуль регистрации механизм уровня регистрации может быть использован для маскировки рубок ниже уровня набора журналов. но им просить общий способ иметь функции питона интерпретатор SKIP (что потребуется время, чтобы работать, даже если они не делают много)
одна идея состоит в том, чтобы переопределить функции я хочу, чтобы закомментировать в пустые функции:
def lazy(*args): pass
logging.debug = lazy
выше идея все еще вызывает функцию, и может создать множество других проблем
Он работает так же в Python 3. – Brian
, если 0: | если __debug__: | если переменная: + оптимизация, будь то через скрипт или хороший редактор, может быть лучшей идеей (лучше, чем prepending #, которая не обрабатывает многострочные строки).возможно, python не идеален после всех –
@Dave: хороший вирус python вводит в код строку «False, True = True, False». замечательные вещи могут случиться –