аргументы командной строки Python
аргументы командной строки Python
Python предоставляетGetopt модуль , чтобы получить аргументы командной строки.
$ python test.py arg1 arg2 arg3
Python также может быть использован вSYS sys.argv, чтобы получить аргументы командной строки:
sys.argv приведен список параметров командной строки.
Len (sys.argv) это количество аргументов командной строки.
Примечание: sys.argv [0] указывает на имя сценария.
примеров
test.py код файла выглядит следующим образом:
#!/usr/bin/python # -*- coding: UTF-8 -*- import sys print '参数个数为:', len(sys.argv), '个参数。' print '参数列表:', str(sys.argv)
Реализация указанного выше кода, выход:
$ python test.py arg1 arg2 arg3 参数个数为: 4 个参数。 参数列表: ['test.py', 'arg1', 'arg2', 'arg3']
Getopt модуль
Getopt модуль параметры командной строки выделенный модуль обработки, используемые для получения параметров командной строки и параметры, является sys.argv. Опция командной строки делает программу более гибкие параметры. Поддержка режима короткий вариант (-) и длинные опции режима (-).
Модуль предоставляет два метода и обработчик исключений для разбора аргументов командной строки.
getopt.getopt метод
getopt.getopt методы разбора командной строки списка параметров синтаксис выглядит следующим образом:
getopt.getopt(args, options[, long_options])
Параметры метода:
арг: Для разбора списка аргументов командной строки.
опции: определить строку формата, параметрыдвоеточие после (:) указывает на то, что эта опция должна иметь дополнительные параметры, без толстого кишечника указывает на то, что этот вариант не дополнительные параметры.
long_options: определить формат списка,long_options после знака равенства (=) говорит , что , если этот параметр установлен, должен быть дополнительные параметры, или нет дополнительные параметры.
Этот метод возвращает значение состоит из двух элементов: первый является(опция, значение) кортежи.Во-вторых, список параметров, в том числе те, которые не параметр '- -' или ''.
Другой метод getopt.gnu_getopt, не так много, чтобы сделать здесь описано.
Исключение getopt.GetoptError
Не найден в списке параметров или опций нужный параметр вызывает исключение пуст.
Исключение аргумент является строкой, которая представляет собой ошибку. Сообщение об ошибке , связанные опции ивыбрать для атрибута MSG.
примеров
Предположим, что мы создаем такой сценарий, вы можете передать две строки в командный файл сценария имя файла, в то время как мы используем другой вариант для просмотра сценария. Используйте следующий сценарий:
usage: test.py -i <inputfile> -o <outputfile>
test.py код файла выглядит следующим образом:
#!/usr/bin/python # -*- coding: UTF-8 -*- import sys, getopt def main(argv): inputfile = '' outputfile = '' try: opts, args = getopt.getopt(argv,"hi:o:",["ifile=","ofile="]) except getopt.GetoptError: print 'test.py -i <inputfile> -o <outputfile>' sys.exit(2) for opt, arg in opts: if opt == '-h': print 'test.py -i <inputfile> -o <outputfile>' sys.exit() elif opt in ("-i", "--ifile"): inputfile = arg elif opt in ("-o", "--ofile"): outputfile = arg print '输入的文件为:', inputfile print '输出的文件为:', outputfile if __name__ == "__main__": main(sys.argv[1:])
Реализация указанного выше кода, выход:
$ python test.py -h usage: test.py -i <inputfile> -o <outputfile> $ python test.py -i inputfile -o outputfile 输入的文件为: inputfile 输出的文件为: outputfile