title: Error loading pickled file
body: <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>