Я закончил писать скрипт на python и теперь застрял в интерфейсе, который требует получения нескольких параметров от пользователя, но не уверен, что лучший способ получить дополнительные аргументы. код, который, как показано ниже ...Python getopt/optparse необязательная обработка параметров командной строки
def getOptions(argv):
try:
opts,args = getopt.getopt(argv, "hi:c:d:m", ["ifile=", "add=", "delete"])
except getopt.GetoptError:
printUsage()
sys.exit(2)
for opt, arg in opts:
if opt in ("-h", "--help"):
print ("test -m <make> [src] [dst]\n")
print ("test -i <install>[filename] \n")
.....
sys.exit()
if opt in ("-m", "--make"):
make(arg)
sys.exit()
if opt in ("-i","--install"):
install(arg)
sys.exit()
... # few more options
else:
assert False, "unhandled option"
Мой вопрос заключается в том, что как я могу оставить из аргумента (например, использовать дополнительный путь по умолчанию для арг), и если это не предусмотрено, получить от пользователя ?? В настоящее время я имею обеспечить ./test -i как я могу выйти из имени файла и назвать как ./test -i
Я застрял с таким же вопросом еще один раз, моя среда разработки Python 2.6 и из-за ограничений, теперь используя optparse, но с той же проблемой, я должен поддерживать необязательный аргумент и не мог найти способ, как это сделать, кроме синтаксического анализа sys.argv вручную, у меня есть почти 10 различных параметров, и если я могу обрабатывать один необязательный аргумент, мой скрипт будет намного удобнее для конечных пользователей.