Jupyter单行bash到python变量

时间:2019-04-09 18:55:33

标签: python jupyter jupyter-lab

我真的很喜欢jupyter能够像这样在行内混合bash命令:

for d in list_of_dirs:
    ! ls {d}

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

3 个答案:

答案 0 :(得分:3)

像这样吗?

代码:

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

答案 1 :(得分:2)

这很好用

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

答案 2 :(得分:1)

os.popen适用于此目的。 popen-打开与命令之间的管道。返回值是连接到管道的打开文件对象,可以读取该对象。 split('\ n')将输出转换为列表

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