我正在尝试加载.pkl文件,这些文件位于我的.py文件所在的目录中。以下是我的代码:
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 :(得分:0)
os.path.join
的输入不应该是元组。也就是说,该命令应为:
fid = open(os.path.join(var_name, '.pkl'))
答案 1 :(得分:0)
℃。皮革是正确的。删除额外的括号()。 另请注意,您正在使用os.path.join()看似什么文件名和扩展名?
它的输出是var_name / .pkl,不确定这是否是您所期望的。
>>> filename = "mytestfile"
>>> mypath = os.path.join(filename, ".pkl")
>>>
>>> print mypath
mytestfile/.pkl