On Tue, 25 Nov 2008 06:59:13 -0800, Mark Tolonen wrote: > "Bryan Fodness" <[EMAIL PROTECTED]> wrote in message > news:[EMAIL PROTECTED] >> I have a list in a text file that is in the python format., >> >> Positions = [2.5,2.8] >> >> and would like to grab the values. >> >> for line in file('list.txt'): >> if line == Positions: >> x1,x2=Positions >> >> I know this does not work. Is there a direct way to get my x1 and x2 >> values. > >>>> line = '[2.5,2.8]' >>>> x1,x2 = eval(line) >>>> x1,x2 > (2.5, 2.7999999999999998) >
Don't give recommendations on eval without mentioning its danger. eval can execute anything a python statement can, and that includes dangerous statements that can be of security risk. Instead, in python 2.6, you may use ast.literal_eval(). Which restrict the eval to literal syntax only, and prohibit any function calling. Alternatively, for previous versions of python, or for more flexibility, you may use the safeeval like here: http://lybniz2.sourceforge.net/ safeeval.html _______________________________________________ Tutor maillist - [email protected] http://mail.python.org/mailman/listinfo/tutor
