pik*_*ika 3 python logic command-line-arguments
我必须将命令行参数存储在变量中或为其分配默认值.
我正在尝试的是下面
import sys
Var=sys.argv[1] or "somevalue"
Run Code Online (Sandbox Code Playgroud)
如果我没有指定任何参数,我将从索引中获取错误.怎么解决这个?
内置argparse模块专门用于执行以下类型的任务:
import argparse
# Set up argument parser
ap = argparse.ArgumentParser()
# Single positional argument, nargs makes it optional
ap.add_argument("thingy", nargs='?', default="blah")
# Do parsing
a = ap.parse_args()
# Use argument
print a.thingy
Run Code Online (Sandbox Code Playgroud)
或者,如果您坚持使用 Python 2.6 或更早版本,并且不希望添加向后移植的 argparse 模块的要求,您可以手动执行类似的操作,如下所示:
import optparse
opter = optparse.OptionParser()
# opter.add_option("-v", "--verbose") etc
opts, args = opter.parse_args()
if len(args) == 0:
var = "somevalue"
elif len(args) == 1:
var = args[0]
else:
opter.error("Only one argument expected, got %d" % len(args))
print var
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
16505 次 |
| 最近记录: |