如何在Python2.6中使用前缀选项-f file.xml解析参数

如何在Python2.6中使用前缀选项-f file.xml解析参数,python,parsing,command-line-arguments,python-2.6,Python,Parsing,Command Line Arguments,Python 2.6,我希望使用前缀选项解析从命令行传递的参数,如下所示: python myApp.y-f file.xml 我使用的是python 2.6.6,因此无法使用 我想让它比 arg1 = sys.argv[1] arg2 = sys.argv[2] 然后使用ifs检查值以及是否提供了值。您可以使用,但argparse可以轻松地安装在python 2.6上 以下是使用argparse的方法: import argparse parser = argparse.ArgumentParser() pars

我希望使用前缀选项解析从命令行传递的参数,如下所示:

python myApp.y-f file.xml

我使用的是python 2.6.6,因此无法使用

我想让它比

arg1 = sys.argv[1]
arg2 = sys.argv[2]
然后使用
if
s检查值以及是否提供了值。

您可以使用,但
argparse
可以轻松地安装在python 2.6上

以下是使用argparse的方法:

import argparse
parser = argparse.ArgumentParser()
parser.add_argument('-f','--filename',action='store',help='file!')
namespace = parser.parse_args()
print namespace.filename

或使用optpass:

from optparse import OptionParser
parser = OptionParser()
parser.add_option("-f", "--filename", dest="filename",help="file!")
options, args = parser.parse_args()
print options.filename

@谢谢,我很感激:)非常感谢这些例子@Patryk——第二个是直接从optparse文档中获取的,因为我对这个库不太熟悉。我确实推荐
argparse
。他们不赞成
optparse
而赞成
argparse
(主要是
argparse
非常棒):-)我知道,但出于我的需要,这已经足够了,我在预配置的机器上工作,所以在所有机器上安装模块是有问题的。@Patryk——很公平,这就是为什么我在回答中给出了两个选项。看看是否安装了getopt。@jeffmurphy--是python标准库的一部分,但我真的看不出有什么好的理由使用它,因为argparse和optparse都非常容易使用…@mgilson,因为它回答了OPs问题和argparse,根据OP,没有。@jeffmurphy——但是
optpasse
有(并且仍然明显优于
getopt
)。@mgilson,不赞成作为奖金。