問題: いくつかの特定の引数を解析する必要があります。これらの引数は任意の順序で指定できますが、オプションではありません: -h -d -src -dst
Python は初めてで、getopt や argparse などの代替手段を見てきましたが、実際の例を取得できなかったため、以下のようにカスタマイズしました。
argv=sys.argv[1:]
args=[]
for idx, arg in enumerate(argv):
# if is arg
if arg.startswith("-"):
# find arg match
for i in ("-h","-d:","-src:","-dst:"):
# requires var
if i == arg + ':' and idx < len(argv)-1:
if not argv[idx+1].startswith("-"):
args.append((arg,argv[idx+1]))
break
# no var
elif i == arg:
args.append((arg,""))
break
else:
continue
# may contain duplicates
print(args)
# no dupes
print(set(args))
問題の目的を達成するための改善やより良い例を誰かが提案できますか?