Python中的命令行解析

Python中的命令行解析,python,parsing,command-line,Python,Parsing,Command Line,我是Python的新手,我真的很难解决以下难题。也就是说,我正在编写一个脚本,它应该在以下不同情况下从命令行获取和处理参数: --x1x2x3 --X范围xmin-xmax 第一个命令应执行点x1、x2、x3中的所有计算。 当用户发出第二个命令时,它应该在[Xmin,Xmax]中执行相同的计算。“范围”是这里的一个控制词,意味着计算将在范围内完成。X是参数的名称 也就是说,当我发出第一个命令时,我的脚本应该计算 我真的不知道该怎么做,我尝试的每件事都没有按照我想要的方式工作 任何帮助都将不胜感激

我是Python的新手,我真的很难解决以下难题。也就是说,我正在编写一个脚本,它应该在以下不同情况下从命令行获取和处理参数:

--x1x2x3

--X范围xmin-xmax

第一个命令应执行点x1、x2、x3中的所有计算。 当用户发出第二个命令时,它应该在[Xmin,Xmax]中执行相同的计算。“范围”是这里的一个控制词,意味着计算将在范围内完成。X是参数的名称

也就是说,当我发出第一个命令时,我的脚本应该计算 我真的不知道该怎么做,我尝试的每件事都没有按照我想要的方式工作


任何帮助都将不胜感激!谢谢大家!

下面是一个简单的示例,演示如何获取命令行参数。代码很简单;我将我的文件命名为so.py

import sys
print "arguments:", sys.argv
现在,当您使用命令行参数执行时,sys.argv是所有参数的列表:

$ python2.7 so.py --X 5 7 9
arguments: ['so.py', '--X', '5', '7', '9']

您可以像处理任何其他列表一样对其进行操作,但我强烈建议您不要更改该列表。根据需要访问元素,将其复制到另一个列表中,等等,但不要更改原始列表。

您已经尝试了什么?有很多关于命令行参数的信息。。为什么您的场景不同?做一些研究-从
argparse
开始。可能是重复的,我尝试在子parser的帮助下进行,但没有效果。我想,这必须通过一些手工操作来完成,但我并没有真正理解教程中的示例。我知道如何使用解析器。但我想要的和你写的完全不同。如您所见,我有两个可选参数,其中一个是--X,第二个是“range”,它实际上是一个命令名。因此,在第一种情况下,一切都很简单:parser.add_参数('--x',…,nargs='*'),这将允许用户输入任意数量的点“x”,但是如果他想要在范围内进行计算,比如从Xmin到Xmax,该怎么办?您还没有按照StackOverflow指南的要求发布您的非工作代码。你被困在哪里?澄清你的问题。简单地说,检查--X之后的第一个参数:如果它是“range”,则从Xmin循环到Xmax;否则,您将遍历给定的值列表。