Дополнительно
Пользовательский ввод и аргументы командной строки
Как сделать скрипт на Python, который a) может принимать пользовательский ввод и как сделать так, чтобы он b) читал аргументы, если его запустить из командной строки?
502
12
Для чтения пользовательского ввода вы можете использовать модуль
cmd
для простого создания мини-интерпретатора командной строки (со справочными текстами и автозавершением) иraw_input
(input
для Python 3+) для чтения строки текста от пользователя.Ввод командной строки находится в
sys.argv
. Попробуйте сделать это в своем скрипте:Существует два модуля для разбора опций командной строки:
optparse
(устарел с Python 2.7, вместо него используйтеargparse
) иgetopt
. Если вы просто хотите ввести файлы в свой скрипт, оцените мощьfileinput
.Справочник по библиотекам Python - ваш друг.
Или для Python 3:
raw_input
более не доступен в Python 3.х. Ноraw_input
был переименованввод
, так же функциональность существует.Документацию изменений
Лучшим способом обработки аргументов командной строки является модуль
argparse
.Используйте
raw_input()
для получения пользовательского ввода. Если вы импортируете модульreadline
, ваши пользователи смогут редактировать строки и историю.Осторожны, чтобы не использовать функция
ввод
, если вы не знаете, что вы're делая. В отличие отraw_input
,ввод
будет принимать каких-либо выражений Python, так что'ы вроде функции "eval"Эта простая программа поможет вам в понимании того, как кормить пользовательского ввода из командной строки и показать справку о прохождении недопустимый аргумент.
Использовать 'raw_input' для ввода из консоли/терминала.
если вы просто хотите аргументом командной строки, такие как имя файла или что-то например
затем вы можете использовать sys.агду...
Сыс.argv-это список, где 0-это имя программы, так, например, в sys.аргумент argv[1] может быть "имя_файла.тхт"и
Если вы хотите иметь полный опции командной строки использовать модуль optparse.
ПЭВ
Если вы работаете с Python <2.7, необходимо optparse, который в качестве док объясняет, будет создан интерфейс к аргументам командной строки, которая вызывается, когда приложение запускается.
Однако, в Python ≥2.7, optparse устарел, и был заменен argparse, как показано выше. Быстрый пример от врачей...
Как в Python <дель>3.2</дел> 2.7, там сейчас argparse для обработки аргументов командной строки.
Если это'ы 3.х версий, а затем просто использовать:
Например, вы хотите, чтобы ввести 8:
х будет равен 8, но это'ы собираюсь быть строкой, за исключением, если вы определите его иначе.
Так что вы можете использовать команду convert, как:
В Python 2:
В Python 3: