为了账号安全,请及时绑定邮箱和手机立即绑定

如何从文件中读取 python 中的数组列表并将其放入数组列表中?

如何从文件中读取 python 中的数组列表并将其放入数组列表中?

潇湘沐 2023-07-05 16:25:54
我有一个存储在这样的文本文件中的数组列表[array([21,25,20]),array([12,24,23]),array([41,23,22])],我想读取该文件并将其也放入列表中,因为我有一个只接受列表的函数。这里的想法是数据作为字符串存储在文件中。当我尝试使用 list() 时,它会放入引号,但我无法按照我想要的方式读取数据。
查看完整描述

2 回答

?
慕森卡

TA贡献1806条经验 获得超8个赞

这是写入文件


import pickle

with open('dataset_faces.dat', 'wb') as f:

    pickle.dump(encodeTest, f)

从文件中读取


import pickle

with open('dataset_faces.dat', 'rb') as f:

    all_face_encodings = pickle.load(f)

查看完整回答
反对 回复 2023-07-05
?
杨__羊羊

TA贡献1943条经验 获得超7个赞

您可以使用evalhttps://docs.python.org/3/library/functions.html#eva)来评估您读入Python数据的文本。

确保您信任数据源!

除此之外,您显示的当前数据不是有效的 Python,因为缺少类型代码 

如果您知道类型代码,则必须阅读文本、解析数据、手动添加类型代码,然后对其进行评估。

更新 - 关于上述数据的有效性

❯ python3

Python 3.6.9 (default, Jul 17 2020, 12:50:27) 

[GCC 8.4.0] on linux

Type "help", "copyright", "credits" or "license" for more information.

>>> from array import array

>>> [array([21,25,20]),array([12,24,23]),array([41,23,22])]

Traceback (most recent call last):

  File "<stdin>", line 1, in <module>

TypeError: array() argument 1 must be a unicode character, not list

>>> 

...有效的是例如...


>>> [array("i",[21,25,20]),array("i",[12,24,23]),array("i",[41,23,22])]

[array('i', [21, 25, 20]), array('i', [12, 24, 23]), array('i', [41, 23, 22])]

>>> 


查看完整回答
反对 回复 2023-07-05
  • 2 回答
  • 0 关注
  • 114 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信