используйте оператор «+» для этого. Смотрите ссылку Array Operators
Я задал этот вопрос в списке 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)]
Объект списка - это специальный объект ipython с несколькими полезными методами. Пример: список файлов, оканчивающихся на .pdf
ipy> tmplist.grep(lambda a: a.endswith('.pdf')) # using a lambda
ipy> tmplist.grep('\.pdf$') # using a regexp
. Вы можете многое сделать, прочитав список магических команд: