Jupyter однострочный bash для переменной python

Мне очень нравится способность jupyter смешивать встроенные команды bash следующим образом:

for d in list_of_dirs:
    ! ls {d}

Однако есть ли способ получить вывод одной из этих встроенных команд, который будет назначен переменной python? Например, как список python?

Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
3
0
172
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

os.popen работает для этого. popen — открывает канал к команде или от нее. Возвращаемое значение — это открытый файловый объект, подключенный к каналу, который можно прочитать. split('\n') преобразует вывод в список

import os
list_of_ls = os.popen("ls").read().split('\n')
print list_of_ls

хм интересная альтернатива, спасибо. Если выяснится, что напрямую назначить вывод ! переменной невозможно, я выберу этот ответ!

Austin 09.04.2019 21:00
Ответ принят как подходящий

Что-то вроде этого?

Код:

python_list = []
for d in list_of_dirs:
    temp_list = !ls {d}
    python_list.extend(temp_list)

Ах! Теперь я чувствую себя глупо из-за того, что не пытался просто напрямую присвоить его переменной. Спасибо!! Примет это, когда это позволит.

Austin 09.04.2019 21:04

Это Питон! Используйте псевдокод, если не уверены!))

trsvchn 09.04.2019 21:05

Это хорошо работает

for d in list_of_dirs:
    out = !'ls {0}'.format('d')

Другие вопросы по теме