Python中的有序选项是optparse

首先,我知道自2.7版以来不推荐使用optparse,但我只在我工作的机器上提供了Python 2.3。 问题是如何知道在命令行中给出选项的顺序,例如:
python example.py -f foo -b bar
将首先执行选项f,然后执行选项b和
python example.py -b bar -f foo
会做相反的事情。 我在阅读
optargs
文档后想出的唯一解决方案是使用
callback
操作来存储选项并检测相对于其他选项的位置,因为
options
对象似乎不遵循任何特定顺序。 你知道另一个(也许是更好的)解决这个问题的方法吗?     
已邀请:
根据订单,选择标志触发不同的行为是违反惯例的。但如果你真的想检查订单,你可以查看sys.argv
#assuming both -f and -b are given in cmdline and you need to check for order
index_f = sys.argv.find("-f")
index_b = sys.argv.find("-b")
if index_f < index_b: 
    # do something if -f is before -b
    

要回复问题请先登录注册