我真的很喜欢jupyter能够像这样在行内混合bash命令:
for d in list_of_dirs:
! ls {d}
但是,有什么方法可以将这些内联命令之一的输出分配给python变量?例如作为python列表?
答案 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