将'systemctl -h'命令的结构输出到列表和/或字典中

时间:2018-01-08 13:49:55

标签: python-3.x text-parsing

在我花费数小时尝试编码之前,我想我会请专家看看是否有人已经完成了这项工作。我试图做一些搜索,但说实话,我不知道如何搜索我正在寻找的东西。所以,我会尽力在这里描述一下,也许你们中的一个人可以解释一种方法来寻找我的问题的解决方案,甚至可能提供解决方案!

我希望收集'systemctl -h'的输出并将其解析为Python3字典列表;每个列表条目都是帮助输出中列出的可能选项的字典。

这个理想输出的有趣/困难之处在于需要考虑很多警告:

  • “帮助”输出中的某些行不是选项(如第一行和空行)。
  • 某些行是一组命令的“标题”。 < - 使用此作为'section'关键字将是“很高兴”。
  • 除了“--help”之外,某些选项还有短键值“-h”。虽然其他命令根本不遵循该格式。
  • 使用间距/换行完成选项值的分离。有时它是一个单独的空间,有时是多个空格,有时它是一个换行符以及更多的空格。

我认为生成的字典Python列表应该有这样的结构:

help_output = [
    {'section': '<section name>',
     'options': {
         'shortcode': '<-h>',
         'longcode': '<--help or list-unit-files>',
         'description': '<blah>'
        }
    },
]

唉,我缺乏脚本foo以“干净”的方式处理所有这些警告。所以,我不想将一些非Pythonic垃圾拼凑在一起,而是希望得到你们所有人的一些意见。

感谢您的时间,我希望您能找到值得回答的问题/挑战。 : - )

0 个答案:

没有答案