如何从文件中读取python中的数组列表并将其放入数组列表中?
我有一个数组的列表存储在一个文本文件中,像这样如何从文件中读取python中的数组列表并将其放入数组列表中?,python,list,file,Python,List,File,我有一个数组的列表存储在一个文本文件中,像这样[array([21,25,20])、array([12,24,23])、array([41,23,22])]我想读取这个文件并把它也放在一个列表中,因为我有一个只接受列表的函数这里的想法是,数据以字符串形式存储在文件中。当我尝试使用list()时,它会引入引号,而我无法以我想要的方式读取数据。您可以使用eval()来评估读入Python数据的文本 确保您信任数据源 除此之外,您显示的当前数据不是有效的Python,因为缺少类型代码-请参阅 如果知道
[array([21,25,20])、array([12,24,23])、array([41,23,22])]
我想读取这个文件并把它也放在一个列表中,因为我有一个只接受列表的函数
这里的想法是,数据以字符串形式存储在文件中。
当我尝试使用list()时,它会引入引号,而我无法以我想要的方式读取数据。您可以使用
eval
()来评估读入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
>>>
我使用pickle找到了一个答案,pickle是一种内置的保存对象并将其加载到文件的方法 这是对文件的写入
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)
从文件中读取
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)
这是对问题的解释,在这里我找到了答案,结果是从人脸识别库中的人脸编码函数返回的,所以我不认为数据是无效的。