I have a data structure that looks like this: # dates = {'2007': {'25': {'06/23/07': {'aerosmith': [{'sweet emotion': 1}, {'dream on': 2}], # 'Metallica': [{'Fade to Black': 1}, {'Master of Puppets': 1}]}, # 'last_song': [Master of Puppets', 'Fade to Black', 'sweet emotion']}}}
I have a section where I try to loop through a set of dates and print out all of the songs for a given artist: if type == 'artist': rpt_file.writelines('Song Summary for ' + artist + '\n\n') for year in sorted(rpt_dates): for week in sorted(rpt_dates[year]): for date in sorted(dates[year][week]): if artist in dates[year][week][date]: report.append(date) for song in sorted(dates[year][week][date] [artist]): rpt_file.writelines('\t' + [song].keys() \ + '\t' + [song].values() + '\n') I get the following error: Traceback (most recent call last): File "C:\Program Files\ActiveState Komodo 3.5\lib\support\dbgp \pythonlib\dbgp\client.py", line 1843, in runMain self.dbg.runfile(debug_args[0], debug_args) File "C:\Program Files\ActiveState Komodo 3.5\lib\support\dbgp \pythonlib\dbgp\client.py", line 1538, in runfile h_execfile(file, args, module=main, tracer=self) File "C:\Program Files\ActiveState Komodo 3.5\lib\support\dbgp \pythonlib\dbgp\client.py", line 596, in __init__ execfile(file, globals, locals) File "C:\scripts\python\Songs\song_report.py", line 136, in <module> if __name__== '__main__': main() File "C:\scripts\python\Songs\song_report.py", line 134, in main print_rpt(options.type, rpt_dates, dates, args) File "C:\scripts\python\Songs\song_report.py", line 107, in print_rpt + '\t' + [song].values() + '\n') AttributeError: 'list' object has no attribute 'keys' Here is where it gets weird: type(song) Traceback (most recent call last): File "C:\Program Files\ActiveState Komodo 3.5\lib\support\dbgp \pythonlib\dbgp\client.py", line 3241, in runcode locals = self.frame.f_locals) File "C:\Program Files\ActiveState Komodo 3.5\lib\support\dbgp \pythonlib\dbgp\client.py", line 1583, in runcode h_exec(code, globals=globals, locals=locals, module=module) File "C:\Program Files\ActiveState Komodo 3.5\lib\support\dbgp \pythonlib\dbgp\client.py", line 520, in __init__ exec code in globals, locals File "<console>", line 0, in <module> TypeError: 'str' object is not callable song {"I Don't Wanna Stop": 1} song.keys() ["I Don't Wanna Stop"] For the complete script and data file, go to http://members.dslextreme.com/users/robinsiebler/python/ -- http://mail.python.org/mailman/listinfo/python-list