Как да направя скрипт на 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)
Съществуват два модула за обработка на опции на командния ред: (отпаднал от Python 2.7, вместо него използвайте optparse
argparse
) и getopt
. Ако искате просто да въвеждате файлове в скрипта си, вижте силата на fileinput
.
Справочникът Python library reference е ваш приятел.
var = raw_input("Please enter something: ")
print "you entered", var
Или за Python 3:
var = input("Please enter something: ")
print("You entered: " + var)
Най-добрият начин за обработка на аргументи от командния ред е модулът argparse
.
Използвайте raw_input()
, за да получите входни данни от потребителя. Ако импортирате модула readline
, вашите потребители ще имат възможност за редактиране на редове и история.