If you use
input, then the data you type is is interpreted as a [b]Python Expression[/b] which means that you end up with gawd knows what type of object in your target variable, and a heck of a wide range of exceptions that can be generated. So you should NOT use
input unless you're putting something in for temporary testing, to be used
only by someone who knows a bit about Python expressions.
raw_input always returns a string because, heck, that's what you always type in ... but then you can easily convert it to the specific type you want, and catch the specific exceptions that may occur. Hopefully with that explanation, it's a no-brainer to know which you should use.
Example
ccode = 386
first = input("please input something: ")
second = raw_input("please raw_input something: ")
print "First was ... ",first
print "Second was ... ",second
as_an_int_1 = int(first)
as_an_int_2 = int(second)
as_an_int_1 += 7
as_an_int_2 += 9
print "integers with addition ... ",as_an_int_1,as_an_int_2
Here's an example of that running ...
Dorothy:dec07 grahamellis$ python ivr
please input something: ccode
please raw_input something: ccode
First was ... 386
Second was ... ccode
And you start getting in to all sorts of issues if you don't realise quickly that one of your variables contains "386" not "ccode" ....
See also
[here] and
[here] for full source examples.
Update In Python 3, raw-input has been renamed input ... handing of line ends and rawness have been amended. This article applies to Python 2.
(written 2007-12-06 05:16:33)
Associated topics are indexed under
Y102 - Python - Fundamentals [2442] Variable storage - Perl, Tcl and Python compared - (2009-10-08)
[2368] Python - fresh examples of all the fundamentals - (2009-08-20)
[1878] Pascals Triangle in Python and Java - (2008-11-10)
[1448] Question on division (Java) - Also Perl, PHP, Python ... - (2007-11-28)
[1430] Integer v float - Python - (2007-11-12)
[956] Python security - trouble with input - (2006-11-30)
[748] Getting rid of variables after you have finished with them - (2006-06-06)
[633] Copying a reference, or cloning - (2006-03-05)
[328] Making programs easy for any user to start - (2005-05-29)
Some other Articles
Perl, PHP, Python, Tcl, Linux, MySQL, Ruby courses ...Python Script - easy examples of lots of basicsAll the special characters in HTML ...10 training days to Christmas.Python - input v raw inputChristmas fare in LjubljanaInteractive training, and advancing techniques furtherThe wrong way to put up pricesA day in LjubljanaRight up to the top of the City