如何检查python中是否存在该参数

如何检查python中是否存在该参数,python,linux,Python,Linux,我想创建一个简单的python脚本,它将从控制台获取一个参数,并显示这个参数。若并没有参数,那个么我希望显示错误消息,但自定义消息并不像IndexError:list index超出范围那个样 大概是这样的: if isset(sys.argv[1]): print sys.argv[1]; else: print "No parameter has been included" 对于更复杂的命令行界面,有以下模块 在Python的标准库中-但是对于只需要几个参数的简单项目,直

我想创建一个简单的python脚本,它将从控制台获取一个参数,并显示这个参数。若并没有参数,那个么我希望显示错误消息,但自定义消息并不像IndexError:list index超出范围那个样

大概是这样的:

if isset(sys.argv[1]):
    print sys.argv[1];
else:
    print "No parameter has been included"
对于更复杂的命令行界面,有以下模块 在Python的标准库中-但是对于只需要几个参数的简单项目,直接检查
sys.argv
是可以的


更新自2019年起,建议使用外部库“”,因为它提供了非常“Pythonic”的方式,以便于记录的方式包含复杂文档。

您可以检查长度

import sys

try:
    print sys.argv[1]
except IndexError:
    print "No parameter has been included"
if len(sys.argv) > 1:
    ...
或尝试/除外

try:
    sys.argv[1]
except IndexError as ie:
    print("Exception : {0}".format(ie))


为了好玩,您还可以使用
getopt
,它为您提供了一种使用unix
getopt
约定预定义可接受选项的方法

import sys
import getopt
try:
    opts, args = getopt.getopt(sys.argv[1:], "hvxrc:s:", ["help", "config=", "section="])
except getopt.GetoptError as err:
    print ("Option error:", str(err))
    opts=[]
for op , val in opts:
    print ("option",op,"Argument",val)
if not opts:
    print ("No parameter supplied")
在上述情况下,如果提供的参数不正确,则所有选项都将作废。
例如:

python myprog.py -h
python myprog.py --help
python myprog.py -c123
python myprog.py --config=123


毫无例外,模型使用if-else简写,我们可以在单行中读取参数

    args = sys.argv
    env = args[1:] and args[1] or None
    username = args[2:] and args[2] or None
    password = args[3:] and args[3] or None
import sys
import getopt
try:
    opts, args = getopt.getopt(sys.argv[1:], "hvxrc:s:", ["help", "config=", "section="])
except getopt.GetoptError as err:
    print ("Option error:", str(err))
    opts=[]
for op , val in opts:
    print ("option",op,"Argument",val)
if not opts:
    print ("No parameter supplied")
python myprog.py -h
python myprog.py --help
python myprog.py -c123
python myprog.py --config=123
    args = sys.argv
    env = args[1:] and args[1] or None
    username = args[2:] and args[2] or None
    password = args[3:] and args[3] or None