[英]How do I read from a file and put it into a list as an integer? Python
[英]How can i read a list of arrays in python from a file and put it in a list of array?
我有一個存儲在這樣的文本文件中的數組列表[array([21,25,20]),array([12,24,23]),array([41,23,22])]
我想閱讀這個文件並將它也放在一個列表中,因為我有一個只接受一個列表的函數。
這里的想法是數據作為字符串存儲在文件中。
當我嘗試使用 list() 時,它會加上引號,但我無法以我想要的方式讀取數據。
您可以使用eval
( https://docs.python.org/3/library/functions.html#eva ) 來評估您讀入 Python 數據的文本。
確保您信任數據源!
除此之外,您顯示的當前數據不是有效的 Python,因為缺少類型代碼 - 請參閱https://docs.python.org/3/library/array.html
如果您知道類型代碼,則必須閱讀文本、解析數據、手動添加類型代碼,然后對其進行評估。
更新 - 關於上述數據的有效性
❯ 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])]
>>>
我使用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)
這是對問題的解釋以及我在哪里找到答案鏈接
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.