2013-06-14 3 views
4

Я использую DataNitro для написания скрипта Python в Excel. Это очень полезно. Однако, когда я открываю редактор Idle в excel, сопутствующая оболочка Python не является интерактивной, поскольку она не возвращает отчеты о печати, показывает ошибки, ничего. Он просто перезапускается каждый раз, когда я запускаю программу. Это затрудняет отладку, поскольку я не могу использовать инструкции печати для отслеживания ошибок.Проблема оболочки Python при использовании Data Nitro

Кто-нибудь знает, если это ошибка с DataNitro, или это должно быть так или что происходит? есть ли какие-либо решения?

спасибо

+0

http://stackoverflow.com/users/732035/ben-lerner является соучредителем DataNitro. Он должен знать. – richie

ответ

3

Наш IDLE редактор просто редактор - он не работает в качестве оболочки.

Лучший способ отладки программ - создать исключение. Это закроет оболочку, которая открывается при запуске скрипта, и вы сможете проверить переменные и посмотреть любые заявления печати, которые были созданы во время выполнения.

Например, если вы запустите:

print Cell("A1").value 
x = Cell("B1").value 
raise 

Вы увидите значение A1, выводимое на оболочку, и вы можете ввести «х» в командной строке, чтобы увидеть значение B1.

Вы также можете импортировать скрипт, над которым вы работаете, в обычную оболочку Python (тот, который открывается при нажатии «shell»). Это выполнит код в этом скрипте.

В ближайшее время мы добавим руководство для отладки кода на сайт, а также некоторые функции, облегчающие его работу.

Источник: Я являюсь одним из основателей DataNitro.

+0

Удивительный, спасибо –

3

Не так знающий, как Бен, но использовали DataNitro совсем немного, и вот несколько советов:

оболочка автоматически закрывается, когда скрипт запуска. Если вы хотите проверить некоторые отпечатки или даже взаимодействовать с оболочкой, я обычно помещаю ее в конец моего скрипта.

raw_input("Press Enter to Exit shell") 

Не очень элегантный, но я даже создал небольшой цикл, который отображает текстовые параметры в консоли. Затем можно взаимодействовать с вашей программой и листом. Умный и более элегантный способ состоял бы в том, чтобы ваш скриптовый опрос выделил ячейку excel, а затем применил форму действия.

Что-то еще, что может показаться приятным, это то, что он также должен запускать Ipython вместо стандартной оболочки python по умолчанию. Невозможно представить, используя python без Ipython ... так что вы получаете преимущества отладки Ipthon отладки и т. Д. Чтобы активировать это, просто нажмите флажок «Использовать Ipython» в настройках DataNitro (не знаю, зависит ли это от версии).

Смежные вопросы