如何从文件中读取数组并将其赋给变量?

2024-04-19 15:31:32 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试从我之前创建的文件中读取一个数组,然后将它赋给变量。 但现在我遇到了一个问题。当我将文件内容赋给变量时,它变成了字符串而不是数组。 如何将其转换回数组?你知道吗

你知道吗文件.txt内容:

[(0, 0.2, ),(0, 0.1, ),(0.2, 0.2, ),(0.2, 0.2, ),(0.4, 0.2, ),]

我的代码:

valid_outputs = f=open("fileName.txt","r")
if(f.mode == 'r'):
    valid_outputs = f.read()

Tags: 文件字符串代码txt内容readifmode
3条回答
x = None
with open("file.txt", "r") as f:
    x = eval(f.read())

print x

稍微复杂,但没有任何包装:

>>> [tuple([float(i) for i in block.split(",")[:2]]) for block in valid_outputs.replace(")]", "").replace("[(", "").split("),(")]
[(0.0, 0.2), (0.0, 0.1), (0.2, 0.2), (0.2, 0.2), (0.4, 0.2)]

可以在字符串上使用^{}

>>> ast.literal_eval('[(0, 0.2, ),(0, 0.1, ),(0.2, 0.2, ),(0.2, 0.2, ),(0.4, 0.2, ),]')
[(0, 0.2), (0, 0.1), (0.2, 0.2), (0.2, 0.2), (0.4, 0.2)]

相关问题 更多 >