コマンドラインオプションを含む文字列を取得する最もPythonicな方法を見つけようとしています:
"-t 500 -x -c 3 -d"
そしてそれを辞書にします
{"-t":"500", "-x":True, "-c":"3", "-d": True}
UPDATE : 文字列には、 --long オプションと、途中にダッシュがある単語も含めることができる必要があります。
"-t 500 -x -c 3 -d --long-option 456 -testing weird-behaviour"
OptionParse モジュールを調べることを提案する前に、有効なオプションが何であるかなどがわからないことに注意してください。文字列を辞書に入れて、別のオプションの辞書に基づいて変更できるようにしようとしています。
私が検討しているアプローチは、split() を使用して項目をリストに入れ、リストをたどってダッシュ "-" で始まる項目を探し、それらをキーとして使用してから、どういうわけか次の項目に到達することです値のリスト。私が抱えている問題は、値を持たないオプションにあります。私は次のようなことを考えました:
for i in range(0, len(opt_list)):
if opt_list[i][0] == "-":
if len(opt_list) > i+1 and not opt_list[i+1][0] == "-":
opt_dict[opt_list[i]] = opt_list[i+1]
else:
opt_dict[opt_list[i]] = True
しかし、それを行うと、PythonではなくCでプログラミングしているようです...