【发布时间】:2021-03-16 16:52:13
【问题描述】:
我需要使用 Python 3 解析systemctl list-units --type=service --all --no-pager 终端输出。我需要获取输出文本的每个单元格值。
为每一行分割整个输出:
text1 = subprocess.check_output("systemctl list-units --type=service --all --no-pager", shell=True).strip().decode()
text_split = text1.split("\n")
但是每一行都有空格,有些行数据也有空格。使用.split(" ") 将不起作用。
我该怎么做?
操作系统:Debian-like Linux x64 (Kernel 4.19).
【问题讨论】:
-
试试
for i in text_split: i.split(),它将提供每行中数据项的列表。或x = [i.split() for i in text_split]将 x 作为列表列表。 -
@RolfofSaxony 也将拆分描述字段,但可以通过重新加入每行的所有最后部分轻松重建它
' '.join(line.split()[3:])
标签: python python-3.x parsing