Error loading pickled file
<p>I have a problem loading a pickled file in python3. See the following code:</p>

<pre><code>#!/usr/bin/env python3

import csv,operator
import pickle
import os.path

pathToBin = "foo/bar/foobar.bin"
pathToCSV = "foo/bar/foobar.csv" 

if os.path.isfile(pathToBin):
        print("Binary file already on harddrive, loading from there")
        transactions = pickle.loads( open( pathToBin, "rb" ))
else:
        csvIn = open(pathToCSV,'r')
        reader = csv.reader(csvIn)
        header = next(reader)
        header = header[0].split(";")

        print("Reading file")
        transactions = []
        for row in reader:
                # read file. 
        # transactions contains now lists of strings: transactions = [ ["a","b","c"], ["a2","b2","c3"], ...]
        print("Dumping python file to harddrive")
        myPickleFile = open(pathToBin,'wb')
        pickle.dump(transactions, myPickleFile, protocol=pickle.HIGHEST_PROTOCOL)

# do some more computation
</code></pre>

<p>Saving the file works without any problems. However, loading it gives me the following error:</p>

<pre><code>transactions = pickle.loads( open( pathToBin, "rb" ))
TypeError: '_io.BufferedReader' does not support the buffer interface
</code></pre>

<p>Since I use python3, strings are treated differently. Thus I specifically give the "b" option for saving/loading. Anyone got an idea why this wont work?</p>