2009-06-04 5 views
5

В настоящее время я разрабатываю простое приложение на python, которое подключается к серверу. На данный момент он однопоточный (поскольку в настоящее время не требуется многопоточность).Python REPL для текущего процесса

Однако я хотел бы - для отладки, обслуживания и т. Д. Также иметь возможность использовать REPL через stdin.

Как это сделать, если это возможно? Нужно ли мне что-нибудь помнить? Должен ли я сделать для этого отдельный поток?

ответ

1

Возможно, this вопрос может помочь. Вы можете немного изменить его, чтобы создать индивидуальный REPL.

3

Вам либо нужно не блокировать, либо использовать поток.

Я лично использовал Twisted для параллелизма, который также предлагает REPL-протокол, который легко интегрировать.

+3

+1: twisted также предлагает люк - услугу, в которой вы можете использовать SSH для своего приложения и получать REPL для взаимодействия с ним во время его работы! – nosklo

+0

Я собираюсь отдать это. Похоже, что мне нужно. – cwj

0

Существует также rfoo. Из README:

RConsole - входит в состав пакета rfoo является удаленной консоли Python с автозаполнение, который может быть использован для проверки и изменения пространства имен Запуск сценария с.

Для включения в сценарии делать:

from rfoo.utils import rconsole 
rconsole.spawn_server() 

Чтобы прикрепить из оболочки сделать:

$ rconsole 

БЕЗОПАСНОСТИ ПРИМЕЧАНИЕ:
утилиты RCONSOLE слушатель начал с spawn_server() будет принимать любые локальные и поэтому может быть небезопасным для использования на общем хостинге или подобных условиях!

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