如何替换字符串python中的变量值?

时间:2016-04-06 06:50:51

标签: python

我在基于python的项目上工作,其中公式以dB存储。我的脚本将从特定列中读取公式并存储在列表中。对于Eg

library(grid)
library(lattice)

## initialize new grid device
grid.newpage()

## add raster plot
vp1 <- viewport(x = 0, y = 0, width = .5, height = 1, 
                just = c("left", "bottom"))

pushViewport(vp1)
print(pr, newpage = FALSE)

## add points plot
downViewport(trellis.vpname("page"))

vp2 <- viewport(x = 1, y = 0, width = .75, height = 1, 
                just = c("left", "bottom"))
pushViewport(vp2)
print(pp, newpage = FALSE)

通过TCP套接字,逗号分隔值将会像

一样
formula[0] = "round(float(latitude[:2]) + (float(latitude[2:]) / 60)"
formula[1] = "round(float(longitude[:3]) + float(longitude[3:]) / 60),6)"
formula[3] = "int(float(speed)*1.852)"

通过编码我已经拆分了逗号分隔值并存储在列表中。从流"imei:1234467454545,ac alarm,160302150105,,F,094605.000,A,1301.9905,N,08014.0746,E,0.19,298.01,,0,,,,;" 是纬度,"1301.9905 "是经度,"08014.0746"是速度值。

如何在公式中应用值并存储在某个变量中?我试过这个方法

"0.19"

1 个答案:

答案 0 :(得分:-1)

您可以将公式存储在python模板中,然后使用eval执行它。

from string import Template

formula = "round((float($latitude) + float($latitude))/60)"
template = Template(formula)
out = template.substitute(latitude="1301.995")
eval(out)

这里我使用eval方法来执行该函数。

有关templates支票here

的更多信息