2016-07-05 4 views
0

Я пытаюсь загрузить файлы .pkl, которые находятся в том же каталоге, где находится мой .py-файл. Ниже мой код:загрузить Python Pickle (.pkl) file

import os 

def load_var(var_name): 
    fid = open(os.path.join((var_name, '.pkl'))) 
    data = pickle.load(fid) 
    fid.close() 
    return data 

def main(): 
    data = load_var('myfilename') 

if __name__ == '__main__': 
    main() 

я продолжать работать в ошибку:

fid = open(os.path.join((var_name, '.pkl'))) 
TypeError: coercing to Unicode: need string or buffer, tuple found 

Есть простой способ устранить эту ошибку?

ответ

0

Ввод os.path.join не должен быть кортежем. То есть, команда должна читать:

fid = open(os.path.join(var_name, '.pkl')) 
0

c. кожа правильная. Удалите дополнительные скобки(). Также обратите внимание, что вы используете os.path.join() для того, что похоже на имя файла и расширение?

Результатом этого будет var_name/.pkl, не уверен, что это то, что вы ожидаете.

>>> filename = "mytestfile" 
>>> mypath = os.path.join(filename, ".pkl") 
>>> 
>>> print mypath 
mytestfile/.pkl 
Смежные вопросы