Användarinmatning och kommandoradsargument

Hur får jag ett Python-skript som a) kan ta emot användarinmatning och hur får jag det b) att läsa in argument om det körs från kommandoraden?

Lösning

För att läsa användarinmatning kan du prova modulen cmd för att enkelt skapa en minikommandotolk (med hjälptexter och autokomplettering) och raw_input (input för Python 3+) för att läsa en textrad från användaren.

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

Kommandoradsinmatningar finns i sys.argv. Prova detta i ditt skript:

import sys
print (sys.argv)

Det finns två moduler för att analysera kommandoradsalternativ: optparse (föråldrad sedan Python 2.7, använd argparse istället) och getopt. Om du bara vill mata in filer i ditt skript, se kraften i fileinput.

Python library reference är din vän.

Kommentarer (3)
var = raw_input("Please enter something: ")
print "you entered", var

Eller för Python 3:

var = input("Please enter something: ")
print("You entered: " + var)
Kommentarer (2)

Det bästa sättet att bearbeta kommandoradsargument är modulen argparse.

Använd raw_input() för att få in användarinmatning. Om du importerar modulen readline kommer dina användare att ha möjlighet till radredigering och historik.

Kommentarer (2)