从文件中调用值并使用Python运行代码

从文件中调用值并使用Python运行代码,python,Python,文件(zzz.txt)包括: 我总是出错 ValueError:无法将字符串转换为浮点:'xx=0.15' 我每次都面临这个问题,调用值是运行代码的一部分。但每次我更改调用方法时,它都会给我错误。 我怎样才能修好它? 致以最诚挚的问候我不会创建变量xx,但我会使用数据['xx']创建字典-这是首选方法 xx = 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45, 0.5, 0.55 yy = 0.01, 0.02, 0.03, 0.04, 0.05, 0.06, 0.

文件(zzz.txt)包括:

我总是出错 ValueError:无法将字符串转换为浮点:
'xx=0.15'

我每次都面临这个问题,调用值是运行代码的一部分。但每次我更改调用方法时,它都会给我错误。 我怎样才能修好它?
致以最诚挚的问候

我不会创建变量xx,但我会使用数据['xx']创建字典-这是首选方法

xx = 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45, 0.5, 0.55 
yy = 0.01, 0.02, 0.03, 0.04, 0.05, 0.06, 0.07, 0.08, 0.09
zz = 0.75, 0.81, 0.83, 1.00, 0.92, 0.91, 0.745, 0.805, 0.82
data = {}
with open('zzz.txt') as fp:
    for line in fp:
        var, values = list(map(str.strip, line.split('=')))
        values = list(map(float, values.split(',')))
        data[var] = values
之后,您可以将
xx
作为
data['xx']

data = {} # dict for data from file

with open('zzz.txt') as fp:

    for line in fp:
        variable, numbers = line.split('=')

        variable = variable.strip()

        numbers = numbers.split(',')
        numbers = list(map(float, numbers))

        data[variable] = numbers
或者您可以指定给变量

print(data['xx'])


您可以使用
globals()[variable]=numbers
而不是
data[variable]=numbers
,不必执行
xx=data['xx']
就可以得到variable
xx
,但人们说这不是首选方法。

谢谢您的回复,我收到了这个错误,名称错误:名称“xx”未定义。@user8670370此方法不创建变量
xx
它只读取每一行并转换为可分配给不同变量的列表。您可以使用列表或字典来保留多于最后一行的内容。当然我没有正确阅读问题。当然可以使用键作为
xx
和值作为列表来记录问题values@armak您仍然可以更改代码以制作更好的示例:)文件操作对我来说很好:打印三个浮点数列表。我看到你编辑了你的问题。您真的更新了您的实际问题吗?请不要更改问题中的代码-现在我们的答案与您的问题毫无意义。您应该在问题的末尾添加新代码。我每次都面临这个问题,调用值是运行代码的一部分。我不想在代码中保留这些值。但是每次我从一个文件中调用它们时,它给出的xx不是你的代码期望变量
xx
,但是你没有创建它。您必须从文件中读取数据并将其分配给变量
xx
,即
xx=data['xx']
。非常感谢您的帮助。顺便说一下:您可以不做
data[variable]=number
而做
globals()[variable]=number
,而不用做
xx=data['xx']
但人们说这不是首选的方法。
data = {}
with open('zzz.txt') as fp:
    for line in fp:
        var, values = list(map(str.strip, line.split('=')))
        values = list(map(float, values.split(',')))
        data[var] = values
xx = data['xx']