Когда команды оболочки выполняются в пределах Jupyter Notebook Python Cell
, например:
output = ! some-shell-command
каждая строка, отправляемая на стандартный вывод (stdout
), записывается в list
как IPython
структура данных, называемая SList
. Например:
output = !echo -e 'line1\nline2\nline3'
print(output) # A IPython SList data-structure.
['line1', 'line2', 'line3']
Иногда, однако, вы хотите сохранить исходный формат вывода строки без токенизации в список, например:
print(output)
line1
line2
line3
Пример: для структурированного вывода JSON - строки, содержащей много символов новой строки - вы не хотели бы, чтобы этот токенизация происходила .
Как тогда я могу выполнить команды оболочки в Jupyter Notebooks
, используя оператор !
, и получить некотенизированный вывод (как выше)?
В идеале решение должно быть чем-то нативным в Jupyter Notebooks
.
Спасибо!