User input and command line arguments


Question

How do I have a Python script that a) can accept user input and how do I make it b) read in arguments if run from the command line?

1
488
9/10/2018 12:12:10 AM

Accepted Answer

To read user input you can try the cmd module for easily creating a mini-command line interpreter (with help texts and autocompletion) and raw_input (input for Python 3+) for reading a line of text from the user.

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

Command line inputs are in sys.argv. Try this in your script:

import sys
print (sys.argv)

There are two modules for parsing command line options: optparse (deprecated since Python 2.7, use argparse instead) and getopt. If you just want to input files to your script, behold the power of fileinput.

The Python library reference is your friend.

440
11/12/2017 8:02:06 PM

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

Or for Python 3:

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

Licensed under: CC-BY-SA with attribution
Not affiliated with: Stack Overflow
Icon