私はgetoptを使ってコマンドライン引数を抽出し、提供されている値を修飾してから、それらの値をループの制限として使用するスクリプトを書いています。コードの一部は次のとおりです。
try:
start_pod, end_pod, topo_value = map(int, args)
except ValueError, error_msg:
if 'invalid' in str(error_msg):
err_funct('Non-integer values supplied: {%s}' % args)
else:
err_funct(error_msg)
for pod in range(start_pod, end_pod):
print 'value of pod: %s' % pod
for switch in range(1,5):
print 'value of switch: %s' % switch
私が抱えている問題は、「レンジ」機能です。私は整数を渡していると思います(マップ関数は文字列のリストを整数に変換しています)。もし私がtry/exceptハンドラではなく、私が書いたエラー関数を使って終了したのですが、何らかの理由でこれが動作しません。
私が正しい数の入力でスクリプトを呼び出すと、 'some_script.py 1 1 5'、スクリプトは何も返しません。