On Monday, June 18, 2012 9:44:17 AM UTC-6, jmfauth wrote:
> Thinks are very clear to me. I wrote enough interactive
> interpreters with all available toolkits for Windows
> since I know Python (v. 1.5.6).
> 
> I do not see why the semantic may vary differently
> in code source or in an interactive interpreter,
> esp. if Python allow it!
> 
> If you have to know by advance what an end user
> is supposed to type and/or check it ('str' or unicode
> literal) in order to know if the answer has to be
> evaluated or not, then it is better to reintroduce
> input() and raw_input().
> 

The change between Python 2.x and 3.x was made for security reasons. The 
developers felt, correctly in my opinion, that the simpler operation should not 
pose a security risk of a malicious user entering an expression that would 
corrupt the program.

In Python 3.x the equivalent of Python 2.x's input() function is eval(input()). 
It poses the same security risk: acting on unchecked user data.

John Roth


> jmf

-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to