我想运行一个bash命令并在列表中附加它的输出。我试过了
import commands
v = commands.getstatusoutput("ls")
但是v将是(0," file1 \ nfile2 \ ndir1 \ n")的输出
我可以处理v
中的第1个(第0个)元素,但这意味着我必须扫描字符串。我想知道是否有更多的pythonic方式来解决这个问题。我没有commands
。我愿意接受其他方式来执行相同的任务
答案 0 :(得分:1)
在此示例中,您只需要在换行符上拆分字符串:
output = v[1].split("\n")
通常,您应尽可能使用Python等效项,而不是调用shell:
files = os.listdir(".")
对于没有Python等效的shell命令,请查看subprocess
模块,但是
必须解析输出不是非Pythonic,它只是你必须要做的事情。