Въвеждане от потребителя и аргументи от командния ред

Как да направя скрипт на Python, който a) може да приема входни данни от потребителя и как да го накарам да б) чете аргументи, ако се изпълнява от командния ред?

Решение

За четене на потребителски вход можете да опитате модула 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. Ако искате просто да въвеждате файлове в скрипта си, вижте силата на fileinput.

Справочникът Python library reference е ваш приятел.

Коментари (3)
var = raw_input("Please enter something: ")
print "you entered", var

Или за Python 3:

var = input("Please enter something: ")
print("You entered: " + var)
Коментари (2)

Най-добрият начин за обработка на аргументи от командния ред е модулът argparse.

Използвайте raw_input(), за да получите входни данни от потребителя. Ако импортирате модула readline, вашите потребители ще имат възможност за редактиране на редове и история.

Коментари (2)