如何访问sys.argv Python的参数?

如何访问sys.argv Python的参数?,python,Python,如果给出如下命令: Python1.py ab 2 34 如何在当前使用前一个参数时打印下一个参数。e、 g如果x是ab,那么我想打印2: import sys for x in sys.argv[1:]: print next element after x 我不确定您想要打印什么,但此语法糖可以帮助: for x in sys.argv[1::2]: print x 这会打印其他元素。因此,这将返回ab 34 for x in sys.argv[2::2]: pr

如果给出如下命令:

Python1.py ab 2 34

如何在当前使用前一个参数时打印下一个参数。e、 g如果x是ab,那么我想打印2:

import sys
for x in sys.argv[1:]:
    print next element after x

我不确定您想要打印什么,但此语法糖可以帮助:

for x in sys.argv[1::2]:
    print x
这会打印其他元素。因此,这将返回
ab 34

for x in sys.argv[2::2]:
    print x
这将返回
2

后面的数字是阵列中的插槽数

编辑: 要回答您的具体问题:

val = 1
for index, x in enumerate(sys.argv[1::2]):
    val += 1
    print sys.argv[index+val]

索引每次增加1,val也增加1,这意味着每个循环跳过2个变量。因此,对于类似于
python的东西,yourcode.py a1b2c3d4
输出将是
1234

使用
enumerate
跟踪当前循环索引;这应该会有帮助。做参数解析?请考虑<代码> AgPARSE> <代码>。你会节省很多精力。它为您提供了有用的帮助消息、强大的参数解析,并且非常易于使用。如果您需要更多帮助,您应该提供有关用例的更多详细信息。例如,有一件事是不清楚的,在读了ab,所以打印2之后,你需要读2,所以打印34吗?此外,如果您提供了执行此操作的原因(例如,解析用于设置选项的命令行参数),则有一些软件包已经实现了您要执行的操作。是的,我想阅读2和打印34。我想这样做是因为我有一个字符串,它由角度的名称后跟角度值,然后是另一个角度的名称后跟旋转值等等组成。我不允许使用正则表达式。e、 g python 1.py a 3.1 b 4(a是角度和它的3.1值,b是另一个角度,4是我们想要旋转它的多少)你能让你的第一个循环打印2吗?像你一样从1开始