のドキュメントを読んでいませんgetopt.getopt
:
getopt.getopt(args, options[, long_options])
コマンド ライン オプションとパラメーター リストを解析します。[...]
long_options
を指定する場合は、サポートする必要がある長いオプションの名前を含む文字列のリストにする必要があります。--
オプション名に先頭の文字を含めないでください。引数を必要とする長いオプションの後には、等号 ( =
) を付ける必要があります。オプションの引数はサポートされていません。長いオプションのみを受け入れるに
options
は、空の文字列にする必要があります。
だからあなたがしなければならない:
options, args = getopt.getopt(sys.argv[1:], "", ['empid='])
のドキュメントから引用getopt
:
ノート
このgetopt
モジュールは、コマンド ライン オプションのパーサーであり、その API は Cgetopt()
関数のユーザーが使い慣れるように設計されています。Cgetopt()
関数
に慣れていないユーザーや、より少ないコードを記述してより適切なヘルプとエラー メッセージを取得したいユーザーは、argparse
代わりにモジュールの使用を検討する必要があります。
の使用例argparse
:
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('--empid', type=int)
parser.add_argument('positionals', nargs='*')
args = parser.parse_args()
print(args.positionals, args.empid)
このモジュールは、より柔軟で高度であると同時に、より使いやすいですgetopt
。