Я изучал немного Python, и я наткнулся на модуль getopt
для анализа аргументов командной строки.Несколько аргументов командной строки
В принципе, у меня есть следующий код:
import sys, getopt
print("The list of %s arguments passed:" % len(sys.argv))
# Print each argument
for arg in sys.argv:
print(arg)
print()
# Now print parsed arguments
opts, args = getopt.getopt(sys.argv[1:], "ab:cd", ["arbitrary", "balance=", "cite"])
for opt in opts:
print(opt)
print()
# Print the arguments returned
print(args)
Однако мне нужно -b
возможность взять два различных аргумента, например -b one two
. Я попытался положить два двоеточия после b
в список аргументов getopt
, но это не сработало.
Если кто-то может сказать мне, как это сделать, используя модуль getopt
и отправьте примеры, это было бы очень полезно!
Обратите внимание, что 'getopt' устарел; используйте гораздо более универсальный ['argparse' module] (https://docs.python.org/2/library/argparse.html). Он поддерживает несколько значений для каждого параметра. –
Связанное чтение - [PEP 0389] (https://www.python.org/dev/peps/pep-0389/), в котором упоминается [обесценение 'optparse'] (https://www.python.org/dev/peps/pep-0389/# deprecation-of-optparse) и [de-подчеркнуто 'getopt'] (https://www.python.org/dev/peps/pep-0389/#updates-to-getopt-documentation) –
использовать 'argparse' и окружать аргумент двойными кавычками' -b "аргументом с пробелами" ' –