파이썬 코드를 작성 했으므로 스위치와 인수를 처리하려고합니다. 당신이 -u
를 참조하면파이썬 처리 옵션과 arg
다음 인수 print "sth"
에는 -d <name>
가없는 : 그래서 스크립트 말하고 싶은
if sys.argv=='-u' and sys.argv!='-d':
print "You must use the -d switch!"
sys.exit()
이 잘못 방법
파이썬 코드를 작성 했으므로 스위치와 인수를 처리하려고합니다. 당신이 -u
를 참조하면파이썬 처리 옵션과 arg
다음 인수 print "sth"
에는 -d <name>
가없는 : 그래서 스크립트 말하고 싶은
if sys.argv=='-u' and sys.argv!='-d':
print "You must use the -d switch!"
sys.exit()
이 잘못 방법
sys.argv
것 같다 것은 목록 그래서 당신은 좋겠입니다 회원 자격을 시험해야합니다 :
if '-u' in sys.argv and '-d' not in sys.argv:
howev 어쨌든 argparse
library을 사용하면 명령 행 인터페이스를보다 잘 처리 할 수 있습니다. 그것은 직접 상호 의존성을 처리하지 않습니다, 그러나 도움말 메시지와 함께 사용 종료 확장 할 수있을만큼 간단하다
import argparse
parser = argparse.ArgumentParser()
parser.add_argument("-u", action='store_true')
parser.add_argument("-d")
args = parser.parse_args()
if args.u and not args.d:
parser.error('You must use the -d switch when setting -u!')
데모 :
>>> import argparse
>>> parser = argparse.ArgumentParser()
>>> parser.add_argument("-u", action='store_true')
_StoreTrueAction(option_strings=['-u'], dest='u', nargs=0, const=True, default=False, type=None, choices=None, help=None, metavar=None)
>>> parser.add_argument("-d")
_StoreAction(option_strings=['-d'], dest='d', nargs=None, const=None, default=None, type=None, choices=None, help=None, metavar=None)
>>> args = parser.parse_args(['-u'])
>>> args.u
True
>>> args.d
>>> args.u and not args.d
True
>>> args = parser.parse_args(['-u', '-d', 'foo'])
>>> args.d
'foo'
>>> args.u and not args.d
False
체크하면 u
목록 sys.argv
에서입니다
if '-u' in sys.argv and '-d' not in sys.argv:
print "You must use the -d switch!"
sys.exit()
: 및
-d
목록 sys.argv
에없는입니다