需要知道python中getopt.getopt的含义

时间:2017-11-23 05:04:33

标签: python

我是Python的新手并且陷入了getopt.getopt

我知道有很多文档可用,但我无法理解这一点。如果来自python社区的人帮助我理解相同的

,我会很有帮助

以下是我试图理解的代码段

import getopt

var1,var2 =  getopt.getopt(['-a', '-bval', '-c', 'val','efoo', 'cfoo'], 'ab:c:')

print var1
print var2

输出

[('-a', ''), ('-b', 'val'), ('-c', 'val')]
['efoo', 'cfoo']

我无法解释这是怎么发生的

1 个答案:

答案 0 :(得分:1)

参数ab:c:表示它应该识别选项-a-b-c。字母后面的:表示该选项后面需要一个参数。

返回值是两个列表。第一个列表包含所有选项,分为(option, parameter)个元组。第二个列表包含选项后面的所有剩余参数。

在您的示例中,选项-b-c后面需要一个参数。因此,第一个列表包含('-b', 'val'),因为-bval-b选项,后跟val参数,('-c', 'val')因为遵循了-c选项通过val参数。 ('-a', '')代表-a选项,它没有参数。

结果的第二部分是['efoo', 'cfoo'],因为这些是在所有选项之后剩余的参数。