Python中的getopt返回的数据类型是什么

尤金·S

getopt在代码中有以下用法

opts, args = getopt.getopt(sys.argv[1:], "", ["admit=", "wardName="])

然后在以下问题中从命令行运行代码:

Test.py --args --admit=1 --wardName="CCU"

当我打印的内容时opts,将得到以下输出:

[('--admit', '1'), ('--wardName', 'CCU')]

一个问题是此结果的数据类型是什么?在我看来,像元组列表。那是对的吗?

第二个问题-是否有与这样的元组对工作的任何方便的方法(如果这些元组)?例如,我现在怎么说:如果admit == 1则执行X我曾想过将元组转换成字典,但这是一个好习惯吗?

PS:这实际上是Jython,而不是纯Python,没有什么区别。

迈克·霍斯基(Mike Housky)

Python文档的首页将Python库文档描述为“将其放在枕头下”。getopt上的页面位于:

http://docs.python.org/2/library/getopt.html

您从getopt中获得了两个列表:您提到的该元组列表,然后是在解析完所有选项之后的其余参数列表。试试这个:

import getopt
args = ['-a', '-b', '-cfoo', '-d', 'bar', 'a1', 'a2']
opts, args = getopt.getopt(args, "abc:d")
print ("opts=" + str(opts))
print ("args=" + str(args))
optdic = dict(opts) # convert options to dictionary
print ("optdic['-c'] = " + str(optdic['-c']))

输出:

opts=[('-a', ''), ('-b', ''), ('-c', 'foo'), ('-d', '')]
args=['bar', 'a1', 'a2']
optdic['-c'] = foo

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章