Я использую библиотеку plac - это самый простой способ для меня. Вам просто нужно определить функцию с некоторыми аргументами:
import plac
def main(arg1, arg2, arg3=None, arg4='default value'):
print locals()
if __name__ == '__main__':
plac.call(main)
И когда вы называете свой сценарий так:
$ python my_console_program.py 111 222
вы получаете аргументы командной строки в качестве аргументов функции:
{'arg1': '111', 'arg2': '222', 'arg3': None, 'arg4': 'default value'}
Вы можете легко обрабатывать стандартные и требуемые аргументы, опции и т. Д.