Brugerinput og kommandolinjeargumenter

Hvordan får jeg et Python-script, der a) kan acceptere brugerinput, og hvordan får jeg det b) til at læse argumenter, hvis det køres fra kommandolinjen?

Løsning

For at læse brugerinput kan du prøve modulet cmd til nemt at skabe en mini kommando linjetolker (med hjælpetekster og autokomplettering) og raw_input (input for Python 3+) til at læse en linje tekst fra brugeren.

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

Kommandolinjeindgange er i sys.argv. Prøv dette i dit script:

import sys
print (sys.argv)

Der er to moduler til parsing af kommandolinjeindstillinger: optparse (deprecated siden Python 2.7, brug argparse i stedet) og getopt. Hvis du blot ønsker at indtaste filer i dit script, kan du se kraften i fileinput.

Python library reference er din ven.

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

Eller for Python 3:

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

Den bedste måde at behandle kommandolinjeargumenter på er argparse-modulet.

Brug raw_input() til at få brugerens input. Hvis du importerer readline-modulet` vil dine brugere få mulighed for at redigere linjer og historik.

Kommentarer (2)