Добавление интерактивности в Python? - PullRequest
1 голос
/ 12 октября 2011

Я разработал приложение PyQt4 для анализа файлов журналов с разделителями, содержащих числовые данные.Есть ли способ легко добавить что-то вроде «консоли» в приложение, чтобы пользователи могли получать доступ к объектам и данным, созданным из приложения, и выполнять (вводить) произвольные команды (используя SciPy и NumPy?).

Ответы [ 3 ]

2 голосов
/ 12 октября 2011

Как насчет встраивания IPython в ваше приложение?

http://ipython.org/ipython-doc/stable/interactive/reference.html#embedding

2 голосов
/ 12 октября 2011
import code

code.InteractiveInterpreter(local=locals())

Создать интерпретатор с соответствующими локальными переменными. Вы, вероятно, не хотите порождать интерактивную консоль (что вы также можете делать), потому что вы не сможете выполнять какие-либо другие виды обработки в своем приложении с графическим интерфейсом (хотя, возможно, вам это сойдет с рук, если вы используете потоки) , Вместо этого вы можете позволить пользователю вводить команды в каком-либо текстовом поле и отправлять их объекту интерпретатора.

В качестве альтернативы, возможно, есть какой-то способ сделать code.InteractiveConsole (не InteractiveInterpreter) потоком счастливым.

0 голосов
/ 12 октября 2011

Добавить -i к концу челки. Как это

#!/bin/python2.7 -i
''' you code here '''

После завершения сценария остается интерактивный питон.

...