2015-09-15 4 views
0

Мне нужно создать скрипт python, который устанавливает/удаляет. В настоящее время мой скрипт способен только установить. Я называю это, как показано ниже:Создайте скрипт python с аргументами командной строки

python ./script.py --arg1 arg2 --arg2 arg2 --arg3 arg3 

Фрагмент кода, как показано ниже:

def main(argv): 
    subparser = parser.add_argument('--arg1', help='Enter arg1', dest="arg1") 
    subparser = parser.add_argument('--arg2', help='Enter arg2', dest="arg2") 
    subparser = parser.add_argument('--arg3', help='Enter arg3', dest="arg3") 
    args = parser.parse_args() 

    return args 

Я хочу изменить выше сценарий, так что я должен быть в состоянии выполнить скрипт следующим образом:

python ./script.py --install --arg1 arg1 --arg2 arg2 --arg3 arg3 

или

python ./script.py --uninstall 

Когда я даю --install как аргумент командной строки, я ожидаю arg1, arg2 и arg3; но когда --uninstall указывается в качестве аргумента командной строки, то я не ожидаю ничего другого.

Могу ли я делать то, что я намерен делать?

ответ

0

Сейчас я обновил свой питон скрипт, как показано ниже:

def main(argv): 
    install = sys.argv[1] 
    if install == "--uninstall": 
      uninstall() 
    elif install == "--install" or install == "--help": 
      install() 

def install(): 
    parser = argparse.ArgumentParser(description="Installing/Uninstalling") 
    subparser = parser.add_argument('--install', dest='accumulate', action='store_const', 
         const=None, default=None, 
         help='Please provide either --install/--uninstall') 
    subparser = parser.add_argument('--arg1', help='Enter arg1', dest="arg1") 
    subparser = parser.add_argument('--arg2', help='Enter arg2', dest="arg2") 
    subparser = parser.add_argument('--arg3', help='Enter arg3', dest="arg3") 
    args = parser.parse_args() 

    return args 

Пожалуйста, дайте мне знать, если это правильный способ сделать это? Или есть лучший способ?