我正在尝试找到一种从文本文件读取数组的最佳方法,该文件的格式为:
“ filename.txt”
points = [
[2.0, 0.0],
[3.0, 2.0],
[2.5, 2.0],
[0.0, 1.5],
[0.0, 0.0]
]
我知道如何使用readline
逐行分隔数据,但是还有更简单的方法吗?
答案 0 :(得分:2)
如果您从文件中删除'points =',您将获得一个可以使用json.load()加载的数据结构
import json
with open("my_file_after_cleanup.json", "r") as read_file:
data = json.load(read_file)
答案 1 :(得分:1)
如果它确实是python语法,请将其重命名为data.py并导入(或使用importlib)。 对数据文件直接使用python语法是python的强大功能之一。
答案 2 :(得分:0)
import ast
with open('filename.txt', 'r') as f:
data = f.read()
data = data[data.find('=') + 1:]
for remove_chr in ('\n', '\t', ' '):
data = data.replace(remove_chr, '')
points = ast.literal_eval(data)
print(type(points).__name__, points)
输出:
list [[2.0, 0.0], [3.0, 2.0], [2.5, 2.0], [0.0, 1.5], [0.0, 0.0]]