python中的.dat和.txt文件有什么区别?

时间:2018-07-14 15:28:31

标签: python database python-3.x

在此代码中,为什么他使用.dat文件而不使用.txt文件 知道我使用.txt文件尝试了它,并且效果很好。
以及为什么以这种方式访问​​的方式还将信息存储为文本,而不是二进制。

import pickle

print("Pickling lists.")
variety = ["sweet", "hot", "dill"]
shape = ["whole", "spear", "chip"]
brand = ["Claussen", "Heinz", "Vlassic"]
f = open("pickles1.dat", "wb")
pickle.dump(variety, f)
pickle.dump(shape, f)
pickle.dump(brand, f)
f.close()

1 个答案:

答案 0 :(得分:2)

扩展名不告诉内容。

程序作者使用.dat,因此您无法使用文本编辑器(轻松)打开它,也无法查看甚至更改内部的明显垃圾(部分为ASCII,部分为非ASCII),这会破坏/损坏数据。< / p>

只要您以二进制打开文件,任何文件“类型”都将起作用。在某些行终止转换情况下(在Windows中经常发生),以文本模式打开可能会“破坏”文件

请注意,当您转储列表和字典之类的本地python结构时,pickle不是最佳选择。在这种情况下,最好使用json格式,该格式需要文本模式,并且只要尊重原始结构,就具有可读性甚至可编辑性的良好优势。