私はPythonでgetoptモジュールを使ってコマンドラインオプションと引数を取得するためのコードを書こうとしています。ここ は私のコードです:getoptを使ったコマンドラインオプションと引数
import getopt
import sys
def usage():
print('Usage')
def main():
try:
opts, args = getopt.getopt(sys.argv[1:], 'xy:')
except getopt.GetoptError as err:
print(err)
usage()
sys.exit()
for o,a in opts:
if o in ("-x", "--xxx"):
print(a)
elif o in ("-y", "--yyy"):
print(a)
else:
usage()
sys.exit()
if __name__ == "__main__":
main()
問題は、私はオプションx
の引数を読み取ることができないということですが、私はy
の引数を読むことができます。これを解決するにはどうすればよいですか?
構文がより使いやすいので、http://docs.python.org/library/argparse.html#module-argparseをご覧ください。 –
http://docs.python.org/library/argparse.html#module-argparse –
には、通常のgetoptのdouble colon ::がオプションの引数を許可するために使用されていることに注意する価値があります。 '--help :: 'は' --help'を許可するが、 '--help 'を探していない限り処理されないという事実のため、初心者には動作するように表示される: '彼らは私が怒っている文書ではこれがサポートされていないことに言及していません。この場合、perlはpythonよりもgetoptの 'ストック'モジュールを取得するからです...もちろんoptparseとargparseを持っていますコロンがない/機能がわかりません!) – osirisgothra