Как в скрипт python принять параметры

286 просмотра
0
0 Комментариев

может кто даст коротенький примерчик. что должно быть прописано в скрипте python что бы он принял параметр «из вне».
прочитал что как бы def , опробовал не получилось.


Добавить комментарий

3 Answers

Python Опубликовано 14.12.2018
0

Я думаю неплохо использовать метод getopt.

Вот Вам небольшой, краткий примерчик (всё максимально упрощено, но идея ясна):

import sys
import getopt
 
def usage():
    print 'Help!!!'
 
try:
    options, args = getopt.getopt(sys.argv[1:], 'd:o:h', ['debug=', 'option=', 'help'])
except getopt.GetoptError:
    usage()
    sys.exit(2)
 
for opt, value in options:
    if opt in ('-h', '--help'):
        usage()
        sys.exit(0)
    elif opt in ('-d', '--debug'):
        debug_flag = value
        print 'debug flag: ', debug_flag
    elif opt in ('-o', '--option'):
        option = value
        print 'option: ', option

Добавить комментарий
0

В стандартной библиотеке питона есть модуль argparse

Пример:

import argparse
 
parser = argparse.ArgumentParser(description='Process some integers.')
parser.add_argument('integers', metavar='N', type=int, nargs='+',
                    help='an integer for the accumulator')
parser.add_argument('--sum', dest='accumulate', action='store_const',
                    const=sum, default=max,
                    help='sum the integers (default: find the max)')
 
args = parser.parse_args()
print(args.accumulate(args.integers))

Если пример выше сохранить под именем prog.py и запустить, получим:

$ python prog.py -h
usage: prog.py [-h] [--sum] N [N ...]
 
Process some integers.
 
positional arguments:
 N           an integer for the accumulator
 
optional arguments:
 -h, --help  show this help message and exit
 --sum       sum the integers (default: find the max)

Добавить комментарий
0

sys.argv example

sys.argv documentation

sys.argv is a list in Python, which
contains the command-line arguments
passed to the script.

With the len(sys.argv) function you
can count the number of arguments.

If you are gonna work with command
line arguments, you probably want to
use sys.argv.

To use sys.argv, you will first have
to import the sys module.

Добавить комментарий
Напишите свой ответ на данный вопрос.
Scroll Up