一个应用程序需要通过argparse模块解析传参,但argparse是Python2.7以上有的,Python2.6的需要使用optparse这个模块.
所以在导入模块以及创建实例时的时候我使用如下方法来做.
try:
from argparse import ArgumentParser
except:
from optparse import OptionParser as ArgumentParser
parser = ArgumentParser()
但是这时候发现一个苦逼的问题.
argparse这个模块使用add_argument()来定义参数解析.如下:
parser.add_argument('address', help='server address')
parser.add_argument('-u', dest='username', help='username')
parser.add_argument('-p', dest='port', help='port')
可optparse这个模块是使用add_option()方法来定义参数....
请问各位,这种情况应该如何避归呢?分Python版本来分别做?统一使用optparse这个模块?
我现在的想法是按照下面这样来搞?相当于闹个别名?
class MyArgumentParser(ArgumentParser):
def __init__():
pass
def my_add_argument():
pass
谢谢.
所以在导入模块以及创建实例时的时候我使用如下方法来做.
try:
from argparse import ArgumentParser
except:
from optparse import OptionParser as ArgumentParser
parser = ArgumentParser()
但是这时候发现一个苦逼的问题.
argparse这个模块使用add_argument()来定义参数解析.如下:
parser.add_argument('address', help='server address')
parser.add_argument('-u', dest='username', help='username')
parser.add_argument('-p', dest='port', help='port')
可optparse这个模块是使用add_option()方法来定义参数....
请问各位,这种情况应该如何避归呢?分Python版本来分别做?统一使用optparse这个模块?
我现在的想法是按照下面这样来搞?相当于闹个别名?
class MyArgumentParser(ArgumentParser):
def __init__():
pass
def my_add_argument():
pass
谢谢.