【发布时间】:2014-11-04 21:25:54
【问题描述】:
用户应该能够像这样调用 Python 脚本:
python myScript.py -i inputFile.txt -k string1 -k string2 -k string3 -o outputFile.txt
或者像这样:
python myScript.py -i inputFile.txt -o outputFile.txt -k string1 -k string2
在脚本内部,我想最终读取“-i”参数,“-o”参数,并将所有“-k”参数(可变数量)放入有序列表中。
我想以一种简洁的方式来做这件事(我知道我可以自己从头开始编写,但我宁愿使用已经构建的库/模块)。
我必须使用 Python 2.4.3 并且想使用 getopt(如果不是类似的东西)。我也不允许下载 argparse。
【问题讨论】:
-
Python 2.4.3!那是相当的要求。 . .虽然
argparse是在 python2.7 中添加的,但它确实适用于以前的版本(虽然我不知道有多远——2.4 可能有点太原始了,但你至少可以试一试......) -
argparse在 2.7 中是新的,但optparse一直回到 2.3,它更接近argparse而不是getopt。使用getopt的唯一原因是如果您已经非常了解getopt,并且没有理由学习像optparse这样更新(但已经过时)的东西。 -
@mgilson 是对的(和往常一样)。 PyPI 上的
argparse适用于 2.3+。 -
同时,无论您选择什么库,您的实际问题是什么?如果您正在寻找图书馆推荐,那不适合 SO。如果您正在寻找教程,那么官方教程将比任何人在 SO 问题中一起拍打的任何东西都要好。选择一个模块(我建议
argparse,但当然这不是建议 :),尝试一下,看看你是否卡住了。 -
为什么不能导入? (至于不被允许安装……即使你没有安装系统包的权限并且没有设置用户site-config,
argparse.py是一个单文件的纯Python模块;你可以如果最坏的情况发生,只需将该文件复制到您的项目目录中。)
标签: python parsing command-line-arguments getopt python-2.4