Как определить новую функцию в pdb

Почему я не могу определить новые функции при запуске pdb ?

Например, возьмите myscript.py:

 #!/gpfs0/export/opt/anaconda-2.3.0/bin/python print "Hello World" print "I see you" 

Если я запустил python -m pdb myscript.py и попытаюсь в интерактивном режиме определить новую функцию:

 def foo(): 

Я получаю сообщение об ошибке:

 *** SyntaxError: unexpected EOF while parsing (<stdin>, line 1) 

Почему это?

2 Solutions collect form web for “Как определить новую функцию в pdb”

Вы можете определить свою функцию в одной строке с использованием ; вместо отступов, вот так:

 (Pdb) def foo(): print 'Hello world'; print 'I see you' (Pdb) foo() Hello world I see you 

Я не думаю, что он поддерживает многострочный ввод. Вы можете обходным путем путем создания интерактивного сеанса из pdb. Как только вы закончите в интерактивном сеансе, выйдите из него с помощью Ctrl + D.

 >>> import pdb >>> pdb.set_trace() (Pdb) !import code; code.interact(local=vars()) (InteractiveConsole) In : def foo(): ...: print 'hello in pdb' ...: In : # use ctrl+d here to return to pdb shell... (Pdb) foo() hello in pdb 
  • Bluetooth для Python 2.7?
  • Как возобновить загрузку файла в Python?
  • ImportError: Нет модуля с именем django.core.management при использовании manage.py
  • Наследование переменных класса в python
  • Статический метод Python не всегда можно вызывать
  • Модуль sip реализует API v11.0 - v11.2, но для модуля PyQt5.QtCore требуется API v11.3
  • Tkinter: Как активировать ttk.Radiobutton и получить его значение?
  • Обнаруживать, если изображение цветное, полутоновое или черно-белое с Python / PIL
  •  
    Interesting Posts for Van-Lav

    Запуск фоновой задачи async в Tornado

    Интерактивная функция ноутбука IPython: как установить диапазон ползунков

    Принуждение потока для блокировки всех остальных потоков от выполнения

    python3 восстанавливает исключение с помощью настраиваемого атрибута?

    Возможно ли, чтобы python открыл терминал и написал ему?

    фатальная ошибка: файл QTKit / QTKit.h не найден, когда я создаю OpenCV на mac

    Есть ли файл сценариев csv Python, способный сопоставлять скорость записи данных.table?

    Ошибка Python 3.0 urllib.parse «Тип str не поддерживает API-интерфейс буфера»

    Как разрешить django admin установить поле в NULL?

    параметры функции вызова по ссылке

    Как запустить текущий файл в PyCharm

    Использование импорта стиля __future__ для специфических для модуля функций в Python

    Python вызывает: IOError: На устройстве нет места: '../results/32766.html' на диске с большим количеством места

    Есть ли способ зарегистрировать HTTP-запросы / ответы, используя Selenium Webdriver (firefox)?

    Python: concurrent.futures Как сделать его отменяемым?

    Python - лучший язык программирования в мире.