私はgetoptを使用してPythonスクリプトのコマンドライン引数を解析します。コマンドライン引数にデフォルト値を設定することは可能ですか?私は次のコードを持っています:
try:
opts, args = getopt.getopt(argv,"htt:tf:d:",["from=","to=","on="])
except getopt.GetoptError:
print 'logReader.py -f <from> -t <to> -d <on>'
sys.exit(2)
for opt, arg in opts:
if opt == '-h':
print 'logReader.py -f <from> -t <to> -d <on>'
sys.exit()
elif opt in ("-f", "--from"):
fromTime = arg
elif opt in ("-t", "--to"):
toTime = arg
elif opt in ("-d", "--on"):
onDate = arg
したがってfrom
、fromTime
が設定されていない場合はそうする必要があり、デフォルト値として設定する必要があります。
argparseを使用して、チュートリアルから変更:
import argparse
parser = argparse.ArgumentParser()
# The -- indicates that it is optional
parser.add_argument("--verbosity", help="increase output verbosity")
args = parser.parse_args()
if args.verbosity:
print "verbosity turned on"
else:
print "Default option"
このように、オプションの引数が追加されていない場合は、elseステートメントが実行されます。また、すべてのオプションを説明できるヘルプマニュアルも追加されています。また、引数の解釈に失敗した場合は、スクリプトのオプションが自動的に返されます。(これは自動的に行われますlogReader.py -f <from> -t <to> -d <on>
)
コメントのOPは、バージョンの問題のためにargparseは考慮されていないと述べています。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加