Я пытаюсь сохранить себя всего лишь несколько клавишных для команды, которую я набираю довольно регулярно в Python. нагрузка, которая похожа на импорт, но добавляет некоторую функциональность. Требуется одна строка: < /p>
def load(s):
# Do some stuff
return something
< /code>
Чтобы вызвать эту функцию, я должен ввести < /p>
>>> load('something')
< /code>
Я бы предпочел просто вводить: < /p>
>>> load something
< /code>
Я запускаю Python с поддержкой READLINE, поэтому я знаю, что там существует некоторая программируемость, но я не знаю, возможно ли это с использованием. < /< / / p>
Я попытался обойти это, используя InteractivConsole < /code> и создав экземпляр в моем файле запуска, например, так: < /p>
< Br />import code, re, traceback
class LoadingInteractiveConsole(code.InteractiveConsole):
def raw_input(self, prompt = ""):
s = raw_input(prompt)
match = re.match('^load\s+(.+)', s)
if match:
module = match.group(1)
try:
load(module)
print "Loaded " + module
except ImportError:
traceback.print_exc()
return ''
else:
return s
console = LoadingInteractiveConsole()
console.interact("")
< /code>
Это работает с предостережением, которое я должен дважды нажать Ctrl-D, чтобы выйти из интерпретатора Python: один раз, чтобы выйти из моей пользовательской консоли, один раз, чтобы выйти из Реальный. edit < /h2>
вне канала, у меня было предложение добавить это до конца моего файла запуска: < /p>
import sys
sys.exit()
< /code>
он работает достаточно хорошо, но я все еще заинтересован в альтернативных решениях. < /p>
Подробнее здесь: https://stackoverflow.com/questions/401 ... tive-shell
Как я могу добавить команду в интерактивную оболочку Python? ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Вставить начальную команду в интерактивную команду через 10 секунд в терминале?
Anonymous » » в форуме Linux - 0 Ответы
- 39 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Вставить начальную команду в интерактивную команду через 10 секунд в терминале? [дубликат]
Anonymous » » в форуме Linux - 0 Ответы
- 22 Просмотры
-
Последнее сообщение Anonymous
-