문제 : 임의의 순서가 될 수있는 몇 가지 특정 인수를 구문 분석 할 필요가 아닌 선택 사항입니다 : -h -d -src -dst파이썬 2.6 - 인수
오전 파이썬에 새로운 대안 등을 살펴 보았다 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))
누구든지 개선점 및/또는 더 나은 예를 제안하여 문제를 해결할 수 있습니까?
이를 확인하실 수 있습니다 http://www.alexonlinux.com/pythons-optparse-for-human-beings – avasal
당신이 추구하는 전략 또한 존경 할만한 가치가 있다고 생각합니다. 한 가지 개선 사항은 인식 할 수없는 인수 ("-"로 시작하지 않음) 또는 옵션 (있는 경우)을받을 때 불평하는 것일 수 있습니다. – dubiousjim
@avasal 그게 좋은 읽을 거리 였고 실제로 많은 도움을주었습니다! – koola