【问题标题】:load Python Pickle (.pkl) file加载 Python Pickle (.pkl) 文件
【发布时间】:2016-07-05 23:33:41
【问题描述】:

我正在尝试加载与我的 .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

是否有解决此错误的简单方法?

【问题讨论】:

    标签: python file pickle


    【解决方案1】:

    os.path.join 的输入不应是元组。也就是说,命令应该是:

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

    【讨论】:

      【解决方案2】:

      c。皮革是正确的。删除多余的括号 ()。 另请注意,您正在使用 os.path.join() 似乎是文件名和扩展名?

      该输出将是 var_name/.pkl,不确定这是否是您所期望的。

      >>> filename = "mytestfile"
      >>> mypath = os.path.join(filename, ".pkl")
      >>> 
      >>> print mypath
      mytestfile/.pkl
      

      【讨论】:

        猜你喜欢
        • 2014-04-15
        • 2019-08-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-11-08
        • 1970-01-01
        • 2011-03-01
        • 1970-01-01
        相关资源
        最近更新 更多