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

используйте оператор «+» для этого. Смотрите ссылку Array Operators

11
задан Gyom 10 June 2009 в 03:11
поделиться

2 ответа

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

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

, если не выполняется отладка:

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

stat = os.system (cmd)

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

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

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

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

9
ответ дан 3 December 2019 в 08:05
поделиться

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

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

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

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

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

6
ответ дан 3 December 2019 в 08:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: