我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,没有什么区别。
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] 删除。
我来说两句