绝对路径:是从盘符开始的路径
相对路径:是从当前路径开始的路径
接下来以.pkl文件的读取为例,进行简单介绍:
如下所示若用/表示相对路径只需要./相对路径;绝对路径用则需要从盘符开始。若用\表示绝对路径,那么需要\才能输出\,否则\会与后面字符结合行程转义字符。
import pickle
fr = open('./weights/online_test/wikihow_act_5_fold0.h5/bi_gram_b.pkl','rb')
# 2 fr = open('E:\\folder\\folder1\\EASDRL\\EASDRL\\EASDRL-master\\weights\\online_test\\wikihow_act_5_fold0.h5\\bi_gram_b.pkl','rb')
# 3 fr = open('E:/folder/folder1/EASDRL/EASDRL/EASDRL-master/weights/online_test/wikihow_act_5_fold0.h5/bi_gram_b.pkl','rb')
# 反斜杠('\')会跟在它后面的字符结合起来转义成其他字符,如'\n','\t',因此若要输出一个反斜杠,需要输入'\\'
data1 = pickle.load(fr)
for item in data1:
print(item)
fr.close()
介绍完路径问题,我们顺便补充.pkl文件的使用说明:
经常遇到在Python程序运行中得到了一些字符串、列表、字典等数据,想要长久的保存下来,方便以后使用,而不是简单的放入内存中关机断电就丢失数据。
这个时候Pickle模块就派上用场了,它可以将对象转换为一种可以传输或存储的格式。python的pickle模块实现了基本的数据序列和反序列化。通过pickle模块的序列化操作(dump)我们能够将程序中运行的对象信息保存到文件中去,永久存储;通过pickle模块的反序列化操作(load),我们能够从文件中创建上一次程序保存的对象。
在Pickle模块中有2个常用的函数方法,一个叫做dump(),另一个叫做load()。
dump
import pickle
with open('name.pkl', 'wb') as f:
pickle.dump(name, f)
load
import pickle
fr = open('name.pkl', 'rb')
data1 = pickle.load(fr)