как интегрировать ZSH и (i) python?

Я давно влюбляюсь в zsh , и совсем недавно я обнаружил преимущества интерактивного интерпретатора ipython над самим python . Быть в состоянии cd , ls , запускать или до ! действительно очень удобно. Но теперь кажется странным иметь такую ​​неуклюжую оболочку, когда в ipython, и мне интересно, как лучше интегрировать мой zsh и мой ipython.

Конечно, я мог бы переписать мой .zshrc и все мои скрипты в python и эмулировать большую часть моего мира оболочки из ipython, но это не кажется правильным. И я, очевидно, не готов использовать ipython как основную оболочку.

Итак, вот мой вопрос: как вы эффективно работаете между вашей оболочкой и вашим командным циклом python? Не хватает ли я какой-то очевидной стратегии интеграции? Должен ли я делать все это в emacs?

2 Solutions collect form web for “как интегрировать ZSH и (i) python?”

Я задал этот вопрос в списке zsh, и этот ответ сработал для меня. YMMV.

В genutils.py после строки

если не отлаживать:

Удалите строку:

stat = os.system (cmd)

Замените его:

stat = subprocess.call (cmd, shell = True, executable = '/ bin / zsh')

вы видите, проблема в том, что это! call использует os.system для запуска, который по умолчанию используется для manky old / bin / sh.

Как я уже сказал, это сработало для меня, хотя я не уверен, что зарывалось за кулисами.

Вы можете запускать команды оболочки, запуская их с восклицательным знаком и захватывая вывод в переменной python. Пример: перечисление каталогов в каталоге /tmp :

 ipy> import os ipy> tmplist = !find /tmp ipy> [dir for dir in tmplist if os.path.isdir(dir)] 

Объект list – это специальный объект ipython с несколькими полезными методами. Пример: список файлов, заканчивающихся на .pdf

 ipy> tmplist.grep(lambda a: a.endswith('.pdf')) # using a lambda ipy> tmplist.grep('\.pdf$') # using a regexp 

Вы можете многое сделать, читая список магических команд:

 ipy> %magic 

См. Раздел оболочки в документации Ipython.

 
Interesting Posts for Van-Lav

Python 2.7 – Обработчик перенаправления не передает параметры при перенаправлении

Скрыть консоль chromeDriver в python

Как применять модели Kalman-Filter для соответствия сигналу в Python

Python: используйте ввод из другой команды

Как найти наиболее распространенный элемент в списке, и если есть связь, первая, кто является последней причиной?

Как использовать несколько цветовых паттернов в морском саду на одном и том же участке

Почему не существующий URL, содержащий острый («#») знак в Python / Flask, не обрабатывается обработчиком ошибок

Django проверить, существует ли связанный объект с ошибкой: RelatedObjectDoesNotExist

Использование данных из Ajax в скрипте python

NumPy / SciPy: переместите маску поверх изображения и проверьте равенство

Чтение динамически созданных веб-страниц с использованием python

Использование Praw, как вы получаете комментарий, связанный URL-адресом

Pip "Не удалось найти то, что удовлетворяет требованию"

Есть ли какие-нибудь примеры на python-purple, плавающие вокруг?

Как работают свойства Python?

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