Page 261 -
P. 261

web development






              Let’s test your code to ensure that it is working to specification. Type your code into an IDLE edit window and save
              your code into a folder that also includes the coach’s text files. Press F5 to import your code to the IDLE shell, and
              then use the dir() command to confirm that the import has been successful:
              >>> dir()
              ['AthleteList', '__builtins__', '__doc__', '__name__', '__package__', 'get_coach_data’,
              'get_from_store', 'pickle', 'put_to_store']
              Create a list of files to work with, and then call the put_to_store() function to take the data in the list of files
              and turn them into a dictionary stored in a pickle:
                                                                                         Here’s all of the
              >>> the_files = ['sarah.txt', 'james.txt', 'mikey.txt', 'julie.txt']       AthleteLists.
              >>> data = put_to_store(the_files)
              >>> data
              {'James Lee': ['2-34', '3:21', '2.34', '2.45', '3.01', '2:01', '2:01', '3:10', '2-22', '2-
              01', '2.01', '2:16'], 'Sarah Sweeney': ['2:58', '2.58', '2:39', '2-25', '2-55', '2:54', '2.18',
             '2:55', '2:55', '2:22', '2-21', '2.22'], 'Julie Jones': ['2.59', '2.11', '2:11', '2:23', '3-
              10', '2-23', '3:10', '3.21', '3-21', '3.01', '3.02', '2:59'], 'Mikey McManus': ['2:22', '3.01',
             '3:01', '3.02', '3:02', '3.02', '3:22', '2.49', '2:38', '2:40', '2.22', '2-31']}
              At this point, the athletes.pickle file should appear in the same folder as your code and text files. Recall
              that this file is a binary file, so trying to view it in IDLE or in your editor is not going to make much sense. To access
              the data, use the dictionary returned by the put_to_store() or get_from_store() functions.
              Use the existing data in the data dictionary to display each athlete’s name and date of birth:
              >>> for each_athlete in data:
                     print(data[each_athlete].name + ' ' + data[each_athlete].dob)

              James Lee 2002-3-14                     By accessing the “name” and “dob”
              Sarah Sweeney 2002-6-17                 attributes, you can get at the rest of
              Julie Jones 2002-8-17                   the AthleteList data.
              Mikey McManus 2002-2-24

              Use the get_from_store() function to load the pickled data into another dictionary, then confirm that the
              results are as expected by repeating the code to display each athlete’s name and date of birth:

              >>> data_copy = get_from_store()
              >>> for each_athlete in data_copy:
                     print(data_copy[each_athlete].name + ' ' + data_copy[each_athlete].dob)


              James Lee 2002-3-14
                                              The data in the returned dictionary
              Sarah Sweeney 2002-6-17         is as expected, exactly the same as
              Julie Jones 2002-8-17           that produced by put_to_store().
              Mikey McManus 2002-2-24




                                                                                      you are here 4    225
   256   257   258   259   260   261   262   263   264   265   266