Using the attached foo.dat and no linebreaks, what you're doing works perfectly: dic2 = {} for line in file('foo.dat'): d, fs1, fs2, fs3, fs4, fs5, fs6, fs7, fs8, fs9, fs10, fs11, fs12, fs13, fs14, fs15, fs16, fs17, fs18, fs19, fs20, fs21, fs22, fs23, fs24, fs25, fs26, fs27, fs28, fs29, fs30, fs31, fs32, fs33, fs34, fs35, fs36, fs37, fs38, fs39, fs40 = line.split() dic2[d] = (float(d), float(fs1), float(fs2), float(fs3), float(fs4), float(fs5), float(fs6), float(fs7), float(fs8), float(fs9), float(fs10), float(fs11), float(fs12), float(fs13), float(fs14), float(fs15), float(fs16), float(fs17), float(fs18), float(fs19), float(fs20), float(fs21), float(fs22), float(fs23), float(fs24), float(fs25), float(fs26), float(fs27), float(fs28), float(fs29), float(fs30), float(fs31), float(fs32), float(fs33), float(fs34), float(fs35), float(fs36), float(fs37), float(fs38), float(fs39), float(fs40)) print dic2
A neater way to do it looks like: dic2 = {} countOfVars=40 for line in file('foo.dat'): tokens = line.split() dval = tokens[0] ls = [] for i in range(1,countOfVars+1): ls.append(float(tokens[i])) dic2[dval]=tuple(ls) print dic2 --Michael On 10/21/07, Bryan Fodness < [EMAIL PROTECTED]> wrote: > > Here is my code. > > dic2 = {} > for line in file('21Ex6MV_tmr.dat'): > d, fs1, fs2, fs3, fs4, fs5, fs6, fs7, fs8, fs9, fs10, > fs11, fs12, fs13, fs14, fs15, fs16, fs17, fs18, fs19, > fs20, fs21, fs22, fs23, fs24, fs25, fs26, fs27, fs28, > fs29, fs30, fs31, fs32, fs33, fs34, fs35, fs36, fs37, > fs38, fs39, fs40 = line.split() > dic2[d] = (float(d), float(fs1), float(fs2), float(fs3), > float(fs4), float(fs5), float(fs6), float(fs7), > float(fs8), float(fs9), float(fs10), float(fs11), > float(fs12), float(fs13), float(fs14), float(fs15), > float(fs16), float(fs17), float(fs18), float(fs19), > float(fs20), float(fs21), float(fs22), float(fs23), > float(fs24), float(fs25), float(fs26), float(fs27), > float(fs28), float(fs29), float(fs30), float(fs31), > float(fs32), float(fs33), float(fs34), float(fs35), > float(fs36), float(fs37), float(fs38), float(fs39), > float(fs40)) > print dic2[d] > > and, here is my error > > Check\eDoseCheck.py", line 44, in <module> > d, fs1, fs2, fs3, fs4, fs5, fs6, fs7, fs8, fs9, fs10, > NameError: name 'd' is not defined > > _______________________________________________ > Tutor maillist - Tutor@python.org > http://mail.python.org/mailman/listinfo/tutor > > -- Michael Langford Phone: 404-386-0495 Consulting: http://www.TierOneDesign.com/
foo.dat
Description: Binary data
_______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor