Why do I get “Pickle – EOFError: Ran out of input” reading an empty file?

| | | | | | | | | | |

I am getting an interesting error while trying to use Unpickler.load(), here is the source code:

open(target, "a").close()
scores = {};
with open(target, "rb") as file:
    unpickler = pickle.Unpickler(file);
    scores = unpickler.load();
    if not isinstance(scores, dict):
        scores = {};

Here is the traceback:

Traceback (most recent call last):
File "G:pythonpenduuser_test.py", line 3, in <module>:
    save_user_points("Magix", 30);
File "G:pythonpenduuser.py", line 22, in save_user_points:
    scores = unpickler.load();
EOFError: Ran out of input

The file I am trying to read is empty. How can I avoid getting this error, and get an empty variable instead?