python - sys.argv and flag identification
Posted
by
tekknolagi
on Stack Overflow
See other posts from Stack Overflow
or by tekknolagi
Published on 2011-01-09T22:42:24Z
Indexed on
2011/01/09
22:53 UTC
Read the original article
Hit count: 283
when I accept arguments how do I check if two show up at the same time without having a compound conditional
i.e.
#!/usr/bin/python import random, string import mymodule import sys z = ' '.join(sys.argv[2:]) q = ''.join(sys.argv[3:]) a = ''.join(sys.argv[2:]) s = ' '.join(sys.argv[1:]) flags = sys.argv[1:5] commands = [["-r", "reverse string passed next with no quotes needed."], ["-j", "joins arguments passed into string. no quotes needed."], ["--palindrome", "tests whether arguments passed are palindrome or not. collective."],["--rand","passes random string of 10 digits/letters"]] try: if "-r" in flags: if "-j" in flags: print mymodule.reverse(q) if not "-j" in flags: print mymodule.reverse(z) if "-j" in flags: if not "-r" in flags: print a if "--palindrome" in flags: mymodule.ispalindrome(z) if (not "-r" or not "-j" or not "--palindrome") in flags: mymodule.say(s) if "--rand" in flags: print(''.join([random.choice(string.ascii_letters+"123456789") for f in range(10)])) if not sys.argv[1]: print mymodule.no_arg_error if "--help" in flags: print commands except: print mymodule.no_arg_error
i just want to be able to say
if "-r" and "-j" in flags in no particular order: do whatever
© Stack Overflow or respective owner