我正在编写一个应该存储自定义类对象cl
的文本表示的函数
我有一些代码写入文件并从cl
中获取必要的信息。
现在我需要倒退,阅读文件并返回cl
的新实例。问题是,文件没有保留cl
的所有重要部分,因为出于本文档的目的,部分内容是不必要的。
.jpg
文件允许您存储快门速度和位置等元数据。我想将cl
中不应该位于.txt
或.csv
文件的元数据中的文本部分中的部分存储起来。有没有办法在Python中显式写入文本文件的元数据?
另外,是否可以在元数据中编写整个对象的字节代码.pkl
表示?
答案 0 :(得分:1)
文本文件不像jpg文件那样具有元数据。 jpeg文件专门设计为包含元数据作为图像中的额外结构化信息的方式。文本文件不是:文本文件中的每个字符通常都会显示给用户。 同样,CSV文件中的每个内容都是文件所代表的表中一个单元格的一部分。
也就是说,有些东西类似于多年来已经存在或存在的文本文件元数据,可能会给你一些想法。我不认为其中任何一个都是理想的,但我会举一些例子来了解元数据领域的复杂程度以及人们在类似情况下的表现。
某些文件系统具有与可以扩展的每个文件关联的元数据。例如,NTFS有流; HFS和HFSplus具有资源分支或其他属性; Linux在其大多数文件系统上都扩展了属性。您可以将pickle信息存储在那些文件系统元数据中。有缺点。有些文件系统没有这个元数据。一些用于复制和操作文件的工具无法识别(或故意剥离)元数据。
您可以拥有.txt文件和.pcl文件,其中.txt文件包含您的文本表示,而.pkl文件包含其他信息。
在当天,一些DOS程序将停止以DOS EOF(十进制字符26)读取文本文件。我不认为任何事情都是这样的,但它是一个例子,有文件格式允许你结束文件,然后仍然有程序可以使用的额外数据。
使用HTML或实际电子表格而非CSV格式,您可以轻松地在元数据中包含内容。