我有一個文本文件,其中包含第一行的列表。 如何讀取文件並將第一行存儲在列表中? 我想將第一行作爲完整列表存儲而不是字符串。文本文件的從文本文件存儲列表
例子:
[[1,2,3],[4,5,6],[7,8,9],[10,11,12]]
我有一個文本文件,其中包含第一行的列表。 如何讀取文件並將第一行存儲在列表中? 我想將第一行作爲完整列表存儲而不是字符串。文本文件的從文本文件存儲列表
例子:
[[1,2,3],[4,5,6],[7,8,9],[10,11,12]]
它看起來像你的數據是有效的JSON:
>>> import json
>>> json.loads('[[1,2,3],[4,5,6],[7,8,9],[10,11,12]]')
[[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]]
從文件加載:
with open('my_file.txt') as f:
my_list = json.load(f)
同樣,yaml.load
和ast.literal_eval
也可以處理這些數據。
可以使用ast
模塊
import ast
s = '[[1,2,3],[4,5,6],[7,8,9],[10,11,12]]'
s = ast.literal_eval(s)
print s, type(s)
>>> [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]] <type 'list'>
您可以使用ast.literal_eval()
象下面這樣:
>>> import ast
>>>
>>> ast.literal_eval('[[1,2,3],[4,5,6],[7,8,9],[10,11,12]]')
[[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]]
這就是爲什麼你應該使用ast.literal_eval()
來評估你的字符串:
AST .literal_eval(node_or_string)
安全地評估表達式節點或 包含Python文字或容器顯示的字符串。字符串 或提供的節點可能只包含以下Python文字 結構:字符串,字節,數字,元組,列表,字典,集合, 布爾值和無。
2 upvotes? OP顯然沒有嘗試。 –