Vstup od používateľa a argumenty príkazového riadka

Ako môžem mať skript Python, ktorý a) môže prijímať vstup od používateľa a ako ho môžem b) načítať argumenty, ak je spustený z príkazového riadku?

Riešenie

Na čítanie vstupu od používateľa môžete vyskúšať modul cmd na jednoduché vytvorenie minipríkazového riadka (s pomocnými textami a automatickým dokončovaním) a raw_input (input pre Python 3+) na čítanie riadku textu od používateľa.

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

Vstupy príkazového riadku sú v súbore sys.argv. Vyskúšajte to vo svojom skripte:

import sys
print (sys.argv)

Existujú dva moduly na analyzovanie možností príkazového riadka: optparse (zastaraný od Pythonu 2.7, namiesto neho používajte argparse) a getopt. Ak chcete do svojho skriptu iba vkladať súbory, využite silu fileinput.

Odkaz na knižnicu Python je vaším priateľom.

Komentáre (3)
var = raw_input("Please enter something: ")
print "you entered", var

Alebo pre Python 3:

var = input("Please enter something: ")
print("You entered: " + var)
Komentáre (2)

Najlepším spôsobom spracovania argumentov príkazového riadku je modul argparse.

Na získanie vstupu od používateľa použite raw_input(). Ak importujete modul readline, vaši používatelia budú mať k dispozícii editáciu riadkov a históriu.

Komentáre (2)