我正在尝试加载位于.py文件所在目录中的 .pkl 文件。以下是我的代码:
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
有没有简单的方法可以解决此错误?
os.path.join
的输入不应该是元组。也就是说,该命令应显示为:
fid = open(os.path.join(var_name, '.pkl'))
c. 皮革是正确的。删除多余的方括号 ()。另请注意,您正在使用 os.path.join() 似乎是文件名和扩展名?
它的输出将是 var_name/.pkl,不确定这是否是您所期望的。
>>> filename = "mytestfile"
>>> mypath = os.path.join(filename, ".pkl")
>>>
>>> print mypath
mytestfile/.pkl