Но зачем? Ок, не по теме. Первый символ не нравится парсеру, откройте файл руками, посмотрите что там такое. Возможно сохранялось в кривой кодировке, ведь, предположу, что писали тоже через dumps.
Открытие в режиме "a" (append) устанавливает позицию в конец файла, соответственно считывание с конца файла возвращает пустую строку. Или открывайте в другом режиме ("r"), или перематывайте позицию в начало с помощью f.seek(0)
Для какой вообще цели было использовать именно этот режим?