2016-09-09 22 views
0

コンソールからパラメータを受け取る単純なpythonスクリプトを作成したいと思います。このパラメータが表示されます。何のパラメータは存在しませんなら、私はエラーメッセージが、カスタムメッセージはIndexErrorのようではない何かを表示したい:リストインデックスをパラメータがPythonに存在するかどうかを確認する方法

何かこのような範囲外:より複雑なコマンドについては

if isset(sys.argv[1]): 
    print sys.argv[1]; 
else: 
    print "No parameter has been included" 

答えて

0
if len(sys.argv) >= 2: 
    print(sys.argv[1]) 
else: 
    print("No parameter has been included") 

Pythonの標準ライブラリにはargparseモジュール がありますが、単純なプロジェクトの場合は、わずか2つのパラメータを直接受け取ってsys.argvをチェックしても問題ありません。

0
import sys 

try: 
    print sys.argv[1] 
except IndexError: 
    print "No parameter has been included" 
2

あなただけの楽しみのため

try: 
    sys.argv[1] 
except IndexError as ie: 
    print("Exception : {0}".format(ie)) 
0
import sys 
print sys.argv[0] # will print your file name 
if len(sys.argv) > 1: 
    print sys.argv[1]; 
else: 
    print "No parameter has been included" 

OR

import sys 
try: 
    print sys.argv[1] 
except IndexError, e: 
    print "No parameter has been included" 
0

、Y以外な長さ

if len(sys.argv) > 1: 
    ... 

か試して/確認することができますまた、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 

https://pymotw.com/2/getopt/
http://linux.about.com/library/cmd/blcmdl1_getopt.htm

関連する問題