在python列表中存储bash命令

时间:2014-11-12 17:00:03

标签: python bash

我想运行一个bash命令并在列表中附加它的输出。我试过了

import commands

v = commands.getstatusoutput("ls")

但是v将是(0," file1 \ nfile2 \ ndir1 \ n")的输出

我可以处理v中的第1个(第0个)元素,但这意味着我必须扫描字符串。我想知道是否有更多的pythonic方式来解决这个问题。我没有commands。我愿意接受其他方式来执行相同的任务

1 个答案:

答案 0 :(得分:1)

在此示例中,您只需要在换行符上拆分字符串:

output = v[1].split("\n")

通常,您应尽可能使用Python等效项,而不是调用shell:

files = os.listdir(".")

对于没有Python等效的shell命令,请查看subprocess模块,但是 必须解析输出不是非Pythonic,它只是你必须要做的事情。