Пользовательский ввод и аргументы командной строки

Вы можете проверить статью Майка Уильямса о том, как привязать точки и полилинии к улицам с помощью API Карт Google:

Особенно этот пример:

483
задан smci 10 September 2018 в 00:12
поделиться

6 ответов

Для чтения ввода данных пользователем, можно попробовать cmd модуль для того, чтобы легко создать интерпретатор мини-командной строки (с текстами справки и автозавершением) и raw_input ( input для Python 3 +) для чтения строки текста от пользователя.

text = raw_input("prompt")  # Python 2
text = input("prompt")  # Python 3

исходные данные Командной строки находятся в sys.argv. Попробуйте это в своем сценарии:

import sys
print (sys.argv)

существует два модуля для парсинга параметров командной строки: optparse (удержанный от использования начиная с Python 2.7, используйте argparse вместо этого), и getopt . Если Вы просто хотите ввести файлы к своему сценарию, созерцайте питание [1 116] fileinput .

справочное руководство по библиотеке Python является Вашим другом.

436
ответ дан Palec 10 September 2018 в 00:12
поделиться
var = raw_input("Please enter something: ")
print "you entered", var

Или для Python 3:

var = input("Please enter something: ")
print("You entered: " + var)
449
ответ дан connectyourcharger 10 September 2018 в 00:12
поделиться

Лучший способ обработать параметры командной строки argparse модуль.

Использование raw_input() для получения ввода данных пользователем. Если Вы импортируете readline module , то у Ваших пользователей будут редактирование строки и история.

32
ответ дан Georg Schölly 10 September 2018 в 00:12
поделиться

Осторожный для не использования эти input функция, если Вы не знаете то, что Вы делаете. В отличие от этого raw_input, input примет любое выражение Python, таким образом, оно отчасти похоже eval

18
ответ дан fread2281 10 September 2018 в 00:12
поделиться

Используйте 'raw_input' для входа от консоли/терминала.

, если Вы просто хотите параметр командной строки как имя файла или что-то, например,

$ python my_prog.py file_name.txt

тогда, можно использовать sys.argv...

import sys
print sys.argv

sys.argv является списком, где 0 название программы, таким образом, в вышеупомянутом примере sys.argv [1] был бы "file_name.txt"

, Если Вы хотите иметь полный на использовании параметров командной строки optparse модуль.

Pev

10
ответ дан Simon Peverett 10 September 2018 в 00:12
поделиться

Начиная с Python ] 3.2 2.7, теперь есть argparse для обработки аргументов командной строки.

6
ответ дан 22 November 2019 в 22:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: