在python中从str提取变量名称和值

时间:2019-01-22 19:17:59

标签: python string

我试图弄清楚是否可以避免在这里使用exec(),但是我真的不确定如何做。

我要读取的每个文件都有一个字符串(从技术上说,这是从hdf5文件读取的字节,但是我使用.decode("utf-8")来获取字符串)。我想提取变量名称和变量值,它们在文件中显示为

  

...   \ r \ nVariable = Time; \ nValues = 1.200000E0; \ n#CurrentVariables ...

我想提取它并以Time = 1.2的形式保存到我的工作区中。我已经做到了:

#temp is my string
var='Variable='
val = 'Value='
curvar = 'Current Variables'
id1 = temp.find(var)
id2 = temp.find(val)
id3 = temp.find(curvar)
varname = temp[id1+len(var):id2-2]
varval = temp[id2+len(val):id3-4]

这给了我varname ='Time'和varvar ='1.200000E0'。有没有一种方法可以将其保存为变量(变量并非总是时间,所以我不只是想将值保存到变量中)。在matlab中,我只会使用(varname = varval),但我不确定正确的用法是什么,因为exec(varval = varname)表示exec()不使用关键字参数。

还是有一种更好的方法,而不使用exec。

0 个答案:

没有答案