基于Python版本动态选择Python库

基于Python版本动态选择Python库,python,command-line,Python,Command Line,我正在编写一个Python脚本,它需要在RHEL6.x上运行,RHEL6.x默认为Python2.6,但也应该与最新的Python一起使用。我需要解析命令行参数,但是Python2.6只包含optparse,在最近的Python中,optparse已经被弃用,取而代之的是argparse。有没有一种方法可以动态选择是使用argparse还是optparse(我知道这需要两种解析算法) 现在请坚持使用optparse,或者安装Python 2.6 不要为了支持两个Python版本而同时支持这两个版

我正在编写一个Python脚本,它需要在RHEL6.x上运行,RHEL6.x默认为Python2.6,但也应该与最新的Python一起使用。我需要解析命令行参数,但是Python2.6只包含optparse,在最近的Python中,optparse已经被弃用,取而代之的是argparse。有没有一种方法可以动态选择是使用argparse还是optparse(我知道这需要两种解析算法)

现在请坚持使用
optparse
,或者安装Python 2.6

不要为了支持两个Python版本而同时支持这两个版本;别让你自己头疼了
optpasse
可能会被弃用,但在使用Python 2.7运行时仍然可以正常工作。它只是比
argparse
提供的功能少

如果您也必须在Python 3.x安装上运行,那么您可以尝试使用导入保护来支持这两者:

try:
    import argparse
    # configure argparse
except ImportError:
    import optparse
    # configure optparse

但是,将
argparse
作为一个依赖项来提供会容易得多。

现在继续使用
optparse
,或者安装Python 2.6安装

不要为了支持两个Python版本而同时支持这两个版本;别让你自己头疼了
optpasse
可能会被弃用,但在使用Python 2.7运行时仍然可以正常工作。它只是比
argparse
提供的功能少

如果您也必须在Python 3.x安装上运行,那么您可以尝试使用导入保护来支持这两者:

try:
    import argparse
    # configure argparse
except ImportError:
    import optparse
    # configure optparse

但是,将
argparse
作为一个依赖项来提供会容易得多。

现在继续使用
optparse
,或者安装Python 2.6安装

不要为了支持两个Python版本而同时支持这两个版本;别让你自己头疼了
optpasse
可能会被弃用,但在使用Python 2.7运行时仍然可以正常工作。它只是比
argparse
提供的功能少

如果您也必须在Python 3.x安装上运行,那么您可以尝试使用导入保护来支持这两者:

try:
    import argparse
    # configure argparse
except ImportError:
    import optparse
    # configure optparse

但是,将
argparse
作为一个依赖项来提供会容易得多。

现在继续使用
optparse
,或者安装Python 2.6安装

不要为了支持两个Python版本而同时支持这两个版本;别让你自己头疼了
optpasse
可能会被弃用,但在使用Python 2.7运行时仍然可以正常工作。它只是比
argparse
提供的功能少

如果您也必须在Python 3.x安装上运行,那么您可以尝试使用导入保护来支持这两者:

try:
    import argparse
    # configure argparse
except ImportError:
    import optparse
    # configure optparse
但是,将
argparse
作为一个依赖项来提供会容易得多。

首先尝试导入
argparse
,如果找不到它,则使用
optparse

试试看:
导入argparse
#Argparse特定的东西
除恐怖外:
导入optpass
#光通道专用材料
您还可以使用
sys.version
sys.version\u info
检查python版本

导入系统 如果(sys.version\u info.major>=2和sys.version\u info.minor>=7): 导入argparse # ... 其他: 导入optpass 或者,如果您不需要改进的功能
argparse
has

首先尝试导入
argparse
,如果找不到它,则使用
optparse

试试看:
导入argparse
#Argparse特定的东西
除恐怖外:
导入optpass
#光通道专用材料
您还可以使用
sys.version
sys.version\u info
检查python版本

导入系统 如果(sys.version\u info.major>=2和sys.version\u info.minor>=7): 导入argparse # ... 其他: 导入optpass 或者,如果您不需要改进的功能
argparse
has

首先尝试导入
argparse
,如果找不到它,则使用
optparse

试试看:
导入argparse
#Argparse特定的东西
除恐怖外:
导入optpass
#光通道专用材料
您还可以使用
sys.version
sys.version\u info
检查python版本

导入系统 如果(sys.version\u info.major>=2和sys.version\u info.minor>=7): 导入argparse # ... 其他: 导入optpass 或者,如果您不需要改进的功能
argparse
has

首先尝试导入
argparse
,如果找不到它,则使用
optparse

试试看:
导入argparse
#Argparse特定的东西
除恐怖外:
导入optpass
#光通道专用材料
您还可以使用
sys.version
sys.version\u info
检查python版本

导入系统 如果(sys.version\u info.major>=2和sys.version\u info.minor>=7): 导入argparse # ... 其他: 导入optpass
或者,如果不需要改进的功能,您可以在所有版本上使用
optparse
,我在第一个示例中使用了ImportError方法,但每次导入后都会导入到我自己的模块
import argparse
后接
import argparse interface as xparse
这允许以下代码使用标准接口,而无需考虑版本。我在第一个示例中使用了ImportError方法,但每次导入后都会导入到我自己的模块
import argparse
后接
import argparse interface as xparse
这允许以下代码使用标准接口,而无需考虑版本。我在第一个示例中使用了ImportError方法,但每次导入后都会导入到我自己的模块<代码>导入argparse后跟
导入argparse