如何在Python中解析命令行参数?
可能重复的问题:
如何在Python脚本中获取和解析命令行参数?
我想在我的Python 2.6程序中解析命令行参数。
理想情况下,我希望能够处理以下情况:
# Show some help
./myprogram --help
# These are equivalent
./myprogram --block=1
./myprogram -b 1
# This means verbose, and twice as verbose:
./myprogram -v
./myprogram -vv
5 个回答
1
比那个链接更好的选择是OptParse或GetOpt这两个模块。根据你使用的Python版本,最新的版本,比如2.7和3.1.2,里面还有一个更新的模块。你可以在官方的python.org网站上找到这些模块的详细文档和示例。如果你去python.org,简单搜索一下OptParse或GetOpt,就能找到你需要的所有信息。
3
Python 自带了处理参数的功能,使用的是 getopt
模块。
这个模块可以处理长短两种形式的参数,还有“裸参数”和带参数的版本(比如 --help
和 --num=7
)。
根据你的具体需求(稍微复杂一点),你可能会用到类似这样的代码:
opts,args = getopt.getopt(argv,"b:vVh",["block=", "verbose", "very-verbose", "help"])
我不太确定它是否支持像 -vv
这样的多字符单短横线参数。为了简化我的操作,我通常会使用 -v
和 -V
。