【问题标题】:command parser/interpreter [duplicate]命令解析器/解释器[重复]
【发布时间】:2012-10-09 13:49:29
【问题描述】:

可能重复:
Best way to parse command line arguments in C#?

我正在寻找一个可以提供简单命令解析的库。类似于命令行解析器的东西会很好。命令行解析器的问题在于获取实际命令并将其与选项轻松配对。

例如,我可能想打开调试。为此,我想做这样的事情。

debug on -f "c:\logs\debug file.txt"

如果我想开启优化,我可以这样做。

optimize on

optimize off

虽然我可以使用标准命令行解析器来完成此任务,但在实际使用标准命令行解析器之前需要进行一些预处理。我真的只是在寻找一个不需要大量调试的优雅解决方案。

顺便说一句,有没有人推荐在 .NET 中使用 python?

【问题讨论】:

    标签: c# .net


    【解决方案1】:

    Python 内置了一个名为 argparse Python argparser

    对于 C#,您可以使用:C# Argparse

    如果我需要自己编写一个,我会从编写一个基于堆栈的语言解释器开始,然后解析选项会非常容易。只需编写词法分析器,您就已经编写了一半的语法。

    Python 是其中之一,当您将它添加到任何东西时,它会立即变得很棒。因此,您只能想象将 Python 与 .NET 结合使用会是什么样子。根据个人经验,您可以使用 IronPython 快速完成很多工作。 (哦,你也可以使用 TPL(任务并行库)。

    玩得开心!

    【讨论】:

    • 感谢您的建议。我查看了您引用的 stackoverflow 问题,它为我指出了一些不错的命令行解析器。但是,我不确定他们能否满足我的需要。我曾考虑过创建自己的解释器,但是,由于我从未做过这样的事情,我觉得这将是一项艰巨的任务。也许在未来。我会看看 IronPython,因为我真的很喜欢 Python。
    • 在 Python 中很简单,看看这个链接:4.flowsnake.org/archives/252
    • 非常感谢您的参考。这很有趣,我想我可能会做一些项目来扩展这个概念证明。我认为它可以派上用场。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-12
    相关资源
    最近更新 更多