gpt4 book ai didi

python - 将元数据添加到现有的 python 对象

转载 作者:行者123 更新时间:2023-11-30 23:11:00 26 4
gpt4 key购买 nike

我当前正在从 .csv 文件读取行并将数据存储在 array.array('f') 对象列表中。由于我将把各个行传递给不同的进程,所以我想为每个 array.array 对象存储一个(行)id。

我知道我显然可以通过定义一个新类并封装数据来做到这一点,但我想知道是否有不同的方法通过动态添加自定义属性到 array.array 。这样做的好处是在访问数据本身时不需要进行额外的查找,并且不必定义仅包含 id 和数据的类。

我知道元组列表也是一种选择,但在不久的将来我将想要存储可变属性。

Python 的方法是什么?

最佳答案

一种选择是将每一行存储在包含附加元数据的字典中。这类似于使用装饰器模式将元数据字段添加到您的类型。

例如,假设您有一个如下所示的测试文件:

$ cat test.file 
line_1
line_2

您可以执行以下操作来添加元数据:

>>> with open('./test.file','rb') as fin:
... for line in fin:
... linecount += 1
... d = {'line':line,'metadata':'a line %d' % linecount}
... lines.append(d)
...
>>> print(lines)
[{'line': 'line_1\n', 'metadata': 'a line 1'}, {'line': 'line_2\n', 'metadata': 'a line 2'}]

关于python - 将元数据添加到现有的 python 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30401482/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com