Jupyter 单行 bash 到 python 变量

Jupyter single line bash to python variable

我真的很喜欢 jupyter 混合 bash 命令的能力,就像这样:

for d in list_of_dirs:
    ! ls {d}

但是,有什么方法可以将其中一个内联命令的输出分配给 python 变量?例如作为 python 列表?

os.popen 适用于此。 popen - 打开一个管道到或从命令。 return值为连接管道的打开文件对象,可以读取。 split('\n') 将输出转换为列表

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

是这样的吗?

代码:

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

这个效果不错

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