命令解析器/解释器[重复]
Posted
技术标签:
【中文标题】命令解析器/解释器[重复]【英文标题】: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?
【问题讨论】:
【参考方案1】:Python 内置了一个名为 argparse Python argparser
对于 C#,您可以使用:C# Argparse
如果我需要自己编写一个,我会从编写一个基于堆栈的语言解释器开始,然后解析选项会非常容易。只需编写词法分析器,您就已经编写了一半的语法。
Python 是其中之一,当您将它添加到任何东西时,它会立即变得很棒。因此,您只能想象将 Python 与 .NET 结合使用会是什么样子。根据个人经验,您可以使用 IronPython 快速完成很多工作。 (哦,你也可以使用 TPL(任务并行库)。
玩得开心!
【讨论】:
感谢您的建议。我查看了您引用的 *** 问题,它为我指出了一些不错的命令行解析器。但是,我不确定他们能否满足我的需要。我曾考虑过创建自己的解释器,但是,由于我从未做过这样的事情,我觉得这将是一项艰巨的任务。也许在未来。我会看看 IronPython,因为我真的很喜欢 Python。 在 Python 中很简单,看看这个链接:4.flowsnake.org/archives/252 非常感谢您的参考。这很有趣,我想我可能会做一些项目来扩展这个概念证明。我认为它可以派上用场。以上是关于命令解析器/解释器[重复]的主要内容,如果未能解决你的问题,请参考以下文章